#python #python-3.x #discord #discord.py
#python #python-3.x #Discord #discord.py
Вопрос:
Я пытаюсь отправить сообщение через консоль python. Прямо сейчас у меня все работает, когда я устанавливаю его как команду бота (когда я выполняю команду !dm
, в консоли python мне предлагается ввести идентификатор пользователя и сообщение, которое я хочу отправить DM. Все это работает. Однако то, что я пытаюсь сделать, это чтобы программа запрашивала меня, как только она запускается.
Мой текущий код:
@bot.command(name='dm')
async def messageinput(ctx):
member = input('Enter Member ID: ')
message = input('Enter Message: ')
print(member)
print(message)
user = bot.get_user(int(member))
await user.send(message)
@bot.event
async def on_ready():
#await verifyloop()
print(Fore.CYAN '|------------------------------------------|')
print(Fore.CYAN '|--------------Bot is online!--------------|')
print(Fore.CYAN '|------------------------------------------|')
#await messageinput()
Как мне это сделать?
Ответ №1:
Чтобы получить участника discord, используя его идентификатор в on_ready()
функции, вы делаете это:
await client.fetch_user(USER_ID)
Где USER_ID
идентификатор пользователя (целочисленное значение).
Итак, ваше событие будет выглядеть так:
@bot.event
async def on_ready():
print(Fore.CYAN '|------------------------------------------|')
print(Fore.CYAN '|--------------Bot is online!--------------|')
print(Fore.CYAN '|------------------------------------------|')
member = int(input('Enter Member ID: '))
message = input('Enter Message: ')
user = await bot.fetch_user(member)
await user.send(message)
Комментарии:
1. Как я уже сказал, у меня это уже работает как команда бота. Однако я хочу, чтобы он запрашивал меня при запуске программы (поэтому мне не нужно открывать discord.
2. @ENORMOUZ дайте мне секунду, чтобы отредактировать мой ответ.
3. @ENORMOUZ ты можешь попробовать это?
Ответ №2:
Не используйте print, print отправляет сообщение на консоль, используйте ctx.send
вместо этого, для получения дополнительной информации ознакомьтесь с discord.py документация.
Пример:
ctx.send("Sending this to the designated channel on Discord")
Комментарии:
1. Как я уже сказал, у меня это уже работает как команда бота. Однако я хочу, чтобы он запрашивал меня при запуске программы (поэтому мне не нужно открывать discord.