为我的机器人执行一个userinfo命令,但是使用自定义表情符号似乎遇到了一些麻烦,这些表情符号会根据用户的存在而显示不同。 (在线,离开,免打扰,离线)。我很好奇如何做到这一点。有人有提示吗?
答案 0 :(得分:0)
如果您尝试根据用户的状态显示不同的表情符号,则可以尝试以下代码:
from nltk.corpus import stopwords
stop_words = stopwords.words('english')
print(len(stop_words))
stop_words.extend(['from', 'subject', 're', 'edu', 'use'])
print(len(stop_words))
文档:https://discord.js.org/#/docs/main/stable/class/Presence
编辑 抱歉,我没有考虑使用开关/保护套。有时使用else / if更快,但是您仍可以使用switch / case来提高可读性。
//user.presence.status returns the current status of a user
if (message.author.presence.status == 'online') {
message.channel.send(':green_heart:');//Online
}else if (message.author.presence.status == 'idle') {
message.channel.send(':yellow_heart:');//Away
}else if (message.author.presence.status == 'dnd') {
message.channel.send(':heart:');//Do not disturb
}else{//Skipped the conditional because the only remaining status is offline
message.channel.send(':black_heart:');//Offline
}
答案 1 :(得分:0)
我:检查是否存在
您可以通过简单地检查User.presence.status
来做到这一点,custom emoji可以是"online"
,"idle"
,"dnd"
或"offline"
II:使用自定义表情符号
要使用https://brew.sh,您需要知道其名称或ID(如果可能,ID更好,您可以通过编写表情符号,在其之前添加\
并发送消息来获得它) )
let emoji = guild.emojis.get(your_emoji_id_as_a_string); //if you have the id OR
let emoji = guild.emojis.find("name", your_name_as_a_string) //if you have the name (but if you change this in the server it won't work)
//create your embed like a normal one and when you have to use an emoji, just type it like a variable
let str = `The user is ${emoji}`; //== "The user is " + emoji