Задать вопрос
@softrad

Почему Discord-бот не пишет сообщение?

При отправке сообщения в чат бот по скрипту не отсылает никаких сообщений в канал. У меня все настроено правильно, просто при активации функции через run_coroutine_threadsafe строчка await ctx.send(text) не работает. Буквально. Если поставить декоратор @client.event то все работает. Помогите разобраться в чем причина, и как это исправить

Вот код:
from javascript import require, On
import discord, asyncio
from discord.ext import tasks, commands
intents = discord.Intents.default()
intents.message_content = True
client = commands.Bot(command_prefix='-say', intents=intents)
channel = client.get_channel(-myid)
mineflayer = require('mineflayer')
pathfinder = require('mineflayer-pathfinder')
minebot = mineflayer.createBot({
    'host':'myserver',
    'username':'nick',   'version':'1.16.5'
})
minebot.loadPlugin(pathfinder.pathfinder)
async def on_message(ctx, text):
    await ctx.send(text)
@On(minebot, 'chat')
def onChat(ctx, sender, messagestr, this, *rest):
    text = str(f'{sender} -> {messagestr}')
    asyncio.run_coroutine_threadsafe(on_message(ctx, text),client.loop)
client.run('TOKEN')
  • Вопрос задан
  • 146 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@vladislavlisitsyn
Попробуй добавить в евент on_message последней строкой
await bot.process_commands(message)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы