每当我发送消息时,我的不和谐机器人都会不断发送垃圾邮件

时间:2020-11-06 17:47:33

标签: python discord discord.py

我的目标是使我的机器人每次执行一次都会发送一条消息,但是当我发送一条消息后,我的机器人就会发疯并开始发送垃圾邮件。

from discord.ext import commands
from discord import *
from discord.utils import *


bot = commands.Bot(command_prefix=".")

@bot.event
async def on_ready():
    print("The bot is online")
    await bot.change_presence(status=discord.Status.online, activity=discord.Game('.bothelp'))

@bot.event
async def on_message(message):
    repeat = True
    while repeat:
        await message.channel.send(f"random text")
        break

bot.run("Bot Token Censored")

1 个答案:

答案 0 :(得分:1)

您添加了一个中断,但是只要有人发送消息,on_message事件就会运行。在这种情况下,机器人会发送一条消息,这将导致无限循环。为了防止这种情况,您可以检查消息作者是否为漫游器。另外,除非您要执行的不是问题中的代码,否则使用while循环是没有意义的。

@bot.event
async def on_message(message):
    if message.author.bot:
        return
    await message.channel.send(f"random text")