我正在尝试让我的机器人在刚刚创建的频道中发布消息。如何检索刚刚自动创建的频道的ID?



目标是制作一个处理假设的机器人。他需要为申请人创建一个只有他(和管理员)可以看到的通道,这部分是可以的。

他必须在他刚刚为申请人创建的通道中自动提出一系列问题。这就是我被困住的地方。我无法获得自动创建的通道的id。

(我是编程新手,请见好就收)

import discord
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(prefix = "!", intents=intents)
guild = discord.Guild
@client.event
async def on_ready():
print(f'{client.user} est connecté !')
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('!startApply'):
guild = message.guild
Officier = discord.utils.get(message.guild.roles, name="Officier")
overwrites = {
guild.default_role: discord.PermissionOverwrite(read_messages=False),
guild.me: discord.PermissionOverwrite(read_messages=True),
message.author : discord.PermissionOverwrite(read_messages=True),
Officier: discord.PermissionOverwrite(read_messages=True)
}
await guild.create_text_channel(f'Apply {message.author}', overwrites=overwrites)

client.run('my_token')

我尝试了所有可能的参数,但我无法在bot刚刚创建的通道中发送消息。

create_text_channel()函数自动返回bot创建的通道,这是一个TextChannel对象。

因此,要在该通道中发送消息,只需执行:

# ...
channel = await guild.create_text_channel(...)
await channel.send("...")

希望对你有帮助。

最新更新