Я пытался не задавать вопрос, поэтому я пытался решить эту проблему в течение 2 дней :( Я не смог. Вот я
я просто пытаюсь получить доступ к списку 'Сигналы' вне функции асинхронности, чтобы позже работать с ним в моем коде синхронизации.
это асинхронная функция из обёртки диска 'discord.py'
он читает сообщения на определенном канале. Моя цель состоит в том, чтобы получить список из каждого содержимого сообщения.
import asyncio
from syncer import sync
import discord
import os
import time
from discord.ext import commands
class A:
TOKEN = "XXXXXXXXX"
client = commands.Bot(command_prefix = ".")
@client.event
async def on_message(message):
autor = message.author
content = message.content
channel = message.channel.id
while ( channel == 'XXXXXXXXXXXXXX' ):
if #some filters
Signal =[message.content]
return Signal #'till here the code functions and i get the list'
bot =A()
tasks = asyncio.ensure_future(bot.on_message())
loop =asyncio.get_event_loop()
loop.run_until_complete(asyncio.gather(*tasks))
bot.client.run(bot.TOKEN)
это я пытаюсь получить список сигналов:
bot =A()
tasks = asyncio.ensure_future(bot.on_message())
loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.gather(*tasks))
bot.client.run(bot.TOKEN)
loop.run_until_complete (asyncio.gather (* задача))
AssertionError: выход из не использовался с будущим
Я пытался использовать async_to_sync Wrapper под названием Syncer:
bot =A()
b = sync(bot.on_message(message))
assert Signal ==b()
b = синхронизация (bot.on_message (сообщение))
NameError: имя 'message' не определено
Незакрытая клиентская сессия
client_session:
когда я определяю сообщение:
message = {}
bot =A()
b = sync(bot.on_message(message))
assert Signal ==b()
b = sync(bot.on_message(message))
TypeError: on_message () принимает 1 позиционный аргумент, но 2 были заданы
Незакрытая клиентская сессия
client_session:
Извините за глупый вопрос, я знаю, что, вероятно, я все делаю неправильно
я изо всех сил стараюсь учиться
спасибо