我的目标是使我的机器人每次执行一次都会发送一条消息,但是当我发送一条消息后,我的机器人就会发疯并开始发送垃圾邮件。
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")
答案 0 :(得分:1)
您添加了一个中断,但是只要有人发送消息,on_message
事件就会运行。在这种情况下,机器人会发送一条消息,这将导致无限循环。为了防止这种情况,您可以检查消息作者是否为漫游器。另外,除非您要执行的不是问题中的代码,否则使用while循环是没有意义的。
@bot.event
async def on_message(message):
if message.author.bot:
return
await message.channel.send(f"random text")