如何使我的机器人在任何不和谐的服务器中使用我的自定义表情符号。
@bot.command(pass_context=True)
async def ping(ctx):
msg = "Pong :CustomEmoji: {0.author.mention}".format(ctx.message)
await bot.say(msg)
Run Code Online (Sandbox Code Playgroud)
例如:如果我上传一些自定义的表情符号上server 1 ,当我们使用!ping的命令(上述)server 2或server 3或者机器人具有访问权限的任何服务器,它应该使用自定义的表情符号。结果Pong with :CustomEmoji:
目前我正在开发一个不和谐的机器人,它正在过滤消息。当尝试过滤包含在其他单词中的单词时,会出现问题,从而触发重复消息。
\n这是我的filter.txt:
\nsad\nsadness\nsadnesses\nRun Code Online (Sandbox Code Playgroud)\n由于“悲伤”也可以在“悲伤”中找到,因此每当写“悲伤”时,我都会得到“悲伤”的误报。
\n是否可以仅检测消息中的确切字符串?就像:I want to be happy, because sadness is bad \xe2\x86\x92 '只检测悲伤'
我希望你明白我的意思。
\n代码:
\npublic void onGuildMessageReceived(GuildMessageReceivedEvent e) {\n File file = new File("src/filter.txt");\n try {\n BufferedReader br = new BufferedReader(new FileReader(file));\n String line;\n while ((line = br.readLine()) != null) {\n if(!line.startsWith("#")) {\n if(e.getMessage().getContentRaw().contains(line)) {\n User user = e.getJDA().getUserById(e.getAuthor().getIdLong());\n e.getMessage().delete().queue();\n user.openPrivateChannel().queue(privateChannel -> {\n privateChannel.sendMessage("Bitte achte auf deine Sprache!").queue();\n });\n } \n }\n }\n } catch (IOException e1) {}\n}\n …Run Code Online (Sandbox Code Playgroud)