我正在尝试创建从链接中识别站点名称和用户名的命令。例如,使用!link https://en.wikipedia.org/wiki/User:Example
,!link https://en.wikipedia.org/wiki/Special:Contributions/Example
或!link https://en.wikipedia.org/wiki/User_talk:Example
会创建
const embed = new Discord.MessageEmbed()
.setColor('#bf00ff')
.addTitle(`en.wikipedia.org`, [Wiki link](https://en.wikipedia.org/wiki/Main_Page))
.addField(`User info of Example`, `[Userpage](https://en.wikipedia.org/wiki/User:Example) | [User_talk](https://en.wikipedia.org/wiki/User_talk:Example) | [Logs](https://en.wikipedia.org/wiki/Special:Log/Example) | [User groups](https://en.wikipedia.org/wiki/Special:UserRights/Example) | [User contributions](https://en.wikipedia.org/wiki/Special:Contributions/Example) | [BlockLog](https://en.wikipedia.org/w/index.php?title=Special:Log/block&page=User:Example)
message.channel.send(embed)
此外,如果链接中没有User:
,Special:Contributions/
或User_talk:
以及站点名称(例如en.wikipedia.org
)和其中的用户名, ,然后创建错误消息。
如果链接包含用户名后的?useskin=monobook
,?useskin=vector
,?useskin=modern
或?useskin=apex
,请忽略链接中的那些部分。例如,https://en.wikipedia.org/wiki/User_talk:Example?useskin=vector
应该解释为https://en.wikipedia.org/wiki/User_talk:Example
,用户名也应该解释为Example
,而不是Example?useskin=vector
我该怎么做?