Вопрос Не работает discord бот. Запускается, но выдаёт ошибку и не выполняет никакие действия

Новичок
Статус
Оффлайн
Регистрация
19 Сен 2022
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Код:
import discord
from discord.ext import tasks
client=discord.Client(intents=discord.Intents(messages=True,guilds=False,reactions=False,members=False,presences=False))
@tasks.loop(minutes=1)
async def test():
await client.wait_until_ready()
channel=client.fetch_channel(АЙДИ КАНАЛА)
await channel.send("test")
@client.event
async def on_ready():
test.start()
client.run("ТОКЕН")
Ошибка:
TypeError: can't send non-None value to a just-started coroutine
Как исправить?
 
Пользователь
Статус
Оффлайн
Регистрация
28 Фев 2019
Сообщения
650
Реакции[?]
142
Поинты[?]
31K
Python:
import disnake
from config import discord_token
from disnake.ext import commands, tasks

bot = commands.Bot(command_prefix="*", intents=disnake.Intents.all())


@tasks.loop(minutes=1)
async def send_message_channel():
    channel = await bot.fetch_channel(1020990897300709386)
    await channel.send("content")


@bot.event
async def on_ready():
    send_message_channel.start()


bot.run(discord_token)
 
Начинающий
Статус
Оффлайн
Регистрация
21 Мар 2021
Сообщения
95
Реакции[?]
29
Поинты[?]
7K
Код:

Ошибка:

Как исправить?
Можешь создать цикличную ф-ию - корутину и вызывать её при запуске бота:
Python:
import discord
import asyncio

from discord.ext import commands

bot = commands.Bot(command_prefix=">>", intents=discord.Intents().all())


# Наша корутина
async def loop_task() -> None:
    while True:
        channal = bot.get_channel("channel id")
        await channal.send("test")
        await asyncio.sleep(10)


@bot.event
async def on_ready() -> None:
    print("Bot is on!")
    bot.loop.create_task(loop_task())


bot.run("Токен")
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
28 Фев 2019
Сообщения
650
Реакции[?]
142
Поинты[?]
31K
Можешь создать цикличную ф-ию - корутину и вызывать её при запуске бота:
Python:
import discord
import asyncio

from discord.ext import commands

bot = commands.Bot(command_prefix=">>", intents=discord.Intents().all())


# Наша корутина
async def loop_task() -> None:
    while True:
        channal = bot.get_channel("channel id")
        await channal.send("test")
        await asyncio.sleep(10)


@bot.event
async def on_ready() -> None:
    print("Bot is on!")
    bot.loop.create_task(loop_task())


bot.run("Токен")
А не проще использовать таски?
 
Сверху Снизу