所以我基本上是在设计一个类似于令牌机器人的简单“帮助”机器人。基本上,如果您需要任何帮助,从学校主题到关于爱好的问题,您可以在“可用帮助频道”类别中发送消息,我的机器人会将该类别移至“繁忙的帮助频道”类别。我的灵感来自于官方 Python Discord 服务器中的 Python bot,如果你在那里并明白我的意思。到目前为止,这是我的全部代码:
import discord, os
from discord.ext import commands
from discord.ext.commands import Bot
from discord.utils import get
from dotenv import load_dotenv
load_dotenv()
intents = discord.Intents().all()
intents.members = True
bot = commands.Bot(command_prefix="ccc ")
TOKEN = os.getenv("DISCORD_TOKEN")
chanava = ["? Help - 1", "? Help - 2", "? Help - 3", "? Help - 4", "? Help - 5"]
@bot.event
async def on_ready():
print('Casual Cryptic Helper is ready!')
@bot.event
async def on_message(message):
ava = get(message.guild.categories, name="Available Help Channels")
bus = get(message.guild.categories, name="Busy Help Channels")
if message.content == "ccc setup":
if ava:
print("ava")
else:
available = await message.guild.create_category("Available Help Channels")
for channel in chanava:
await message.guild.create_text_channel(channel, category=available)
if bus:
print("bus")
else:
busy = await message.guild.create_category("Busy Help Channels")
await message.channel.send("CCH's setup completed for this server! You can begin using the bot.\n\n**Questions, suggestions, or an issue with the bot you found? Contact __Module64#8821__ or __Shadowsprite54#3459__.**")
else:
if message.channel not in chanava:
await message.channel.send("not in help channel")
else:
ava = get(message.guild.categories, name="Available Help Channels")
bus = get(message.guild.categories, name="Busy Help Channels")
await message.channel.edit(category="Busy Help Channels")
bot.run(TOKEN)
基本上,到目前为止,如果用户发送消息“ccc setup”,机器人将在该服务器中创建两个类别:可用的帮助频道和忙碌的帮助频道< /强>。我已经想出了如何做到这一点,并将帮助渠道添加到可用帮助渠道类别。但是,我的问题是,当用户在可用类别中发送消息时,我无法弄清楚如何将频道从可用帮助频道类别移动到忙碌帮助频道类别。很明显,我的机器人正在检测用户何时发送消息,因为它打印“不在帮助频道中”,但问题是它到处都这样做。我尝试了几种可能的解决方案,但似乎都没有奏效。我怎么能解决这个问题?提前致谢。