Решил написать Discord бота, но вышла
проблема с библиотекой asyncio, которая выдаёт ошибку:
RuntimeWarning: coroutine 'message_send' was never awaited self.tk.mainloop(n)
Сама ошибка возникает при вызове функции message_send(), которая активируется после нажатия кнопки в самом клиенте.
import discord
from discord.ext import commands
from discord import Embed
import asyncio
import tkinter
from tkinter import messagebox
import tkinter.ttk
client_token = "NDE3MzQ4MjMyNDQ4OTY2NjY2.DX8JdA.rNz3HTnAIVie0MBliVewPUPRqus"
bot_prefix = "!"
Client = discord.Client()
client = commands.Bot(command_prefix=bot_prefix)
@client.event
async def on_ready():
print("ready")
async def message_send(): # При вызове этой функции всё ломается
message = entry_message.get()
channel = combobox.get()
channels = {"#channel": "394132322372419597", "#glob": "359289092917166080"}
await client.send_message(discord.Object(id=channels[channel]), message)
root = tkinter.Tk()
root.title("Bot client")
root.geometry("500x400")
root.resizable(False, False)
entry_message = tkinter.Entry(root)
entry_message.place(x=40, y=100, width=200, height=20)
button_send_message = tkinter.Button(root, text='Отправить', command=message_send)
button_send_message.place(x=140, y=140, width=100, height=25)
combobox = tkinter.ttk.Combobox(root, values=[u"#test", u"#glob"], height=2, state='readonly')
combobox.place(x=40, y=140, width=80)
root.mainloop()
client.run(client_token)
Заранее спасибо.
loop.run_until_complete(root.mainloop())плюс строки чтоб loop, root создать). Не нужно весь код без разбора в вопрос добавлять.минимальный воспроизводимый пример Нажмите править.