Я хочу создать бота, который будет реагировать на все сообщения (используя эмоции из списков default_emojis и custom_emojis) от указанного пользователя c на моем сервере, где бы он ни отправлял сообщение.
Я просматривал несколько устаревших руководств и даже вопрос, который задавался здесь около года go, и я попытался это сделать, но на сервере ничего не произошло. Бот будет в сети, но не будет реагировать ни на что.
Это код, который я использовал:
import discord
from discord.ext import commands
from discord.ext.commands import Bot
import asyncio
bot = commands.Bot(command_prefix = "!")
async def on_ready():
print ("welcome_msg")
default_emojis = [
"\N{GRINNING FACE}",
]
custom_emojis = [
"staylovesmall"
]
async def react(message):
for emoji in default_emojis:
await message.add_reaction(emoji)
for emoji in message.guild.emojis:
if emoji.name in custom_emojis:
await message.add_reaction(emoji)
@bot.event
async def on_message(message):
if message.author.id == "user_id":
await react(message)
bot.run("<Bot ID here>")
Использование if message.author.id == "<the user's id>" :
ломает бота, но использование
@bot.event
async def on_message(message):
if message.author == bot.user:
return
if "react to me" in message.content.lower():
await react(message)
У меня очень ограниченное знание python, и все, кроме списков и кортежей, для меня древнегреческое. Есть идеи, что происходит? Большое спасибо!
РЕДАКТИРОВАТЬ: я заменил str на int, и я попытался добавить текстовые эмоции (например, Regional_indicator_a :) Это дает мне эту ошибку:
Ignoring exception in on_message
Traceback (most recent call last):
File "C:\Users\Kailash Seshadri\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\client.py", line 312, in _run_event
await coro(*args, **kwargs)
File "C:\Users\Kailash Seshadri\Desktop\React\bot.py", line 39, in on_message
await react(message)
File "C:\Users\Kailash Seshadri\Desktop\React\bot.py", line 31, in react
await message.add_reaction(emoji)
File "C:\Users\Kailash Seshadri\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\message.py", line 928, in add_reaction
await self._state.http.add_reaction(self.channel.id, self.id, emoji)
File "C:\Users\Kailash Seshadri\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\http.py", line 225, in request
raise HTTPException(r, data)
discord.errors.HTTPException: 400 BAD REQUEST (error code: 10014): Unknown Emoji
Код:
default_emojis = [
"\N{GRINNING FACE}",
"\U0001F606"
"\U0001F1F8"
]
Первые два сами по себе работают нормально, но когда я добавляю букву в позиции 3, появляется ошибка, и оба эмоции Unicode не регистрируются. Любые идеи? Спасибо