Discord py - 从新创建的频道获取频道 ID
Discord py - get channel id from new created channel
大家好,
我正在尝试创建一个小问题 - 回答问题
那我要做什么?
- 对特定频道中的消息做出反应(完成)
- 在特定类别下创建新频道(完成)
- 获取频道id并在该频道发送消息
@client.event
async def on_raw_reaction_add(payload):
guild_id = payload.guild_id
guild = client.get_guild(guild_id)
emoji = payload.emoji.name
message_id = payload.message_id
category = guild.get_channel(766608102081822730)
if message_id == 769082530611593216 and emoji == "":
overwrites = {guild.default_role: discord.PermissionOverwrite(read_messages=True, send_messages=True)}
category = guild.get_channel(769083552209698826)
now = datetime.now()
date = now.strftime("%A - %d./%m./%Y")
await category.create_text_channel(date, overwrites=overwrites)
我的问题是 - 如何从新创建的频道获取频道 ID?
为什么我需要这个新建频道的 ID?
因为我想向频道发送消息 - 因此我需要 ID 对吗?
我的第二个问题:
我想要像日期一样的频道名称(星期一 - 2020 年 12 月 10 日)- discord 显示的名称像
monday-10122020
没问题 - 一切都很好
但我希望我的机器人检查名称“monday-10122020”是否已被使用 - 如果是 returns - 否则他会创建一个新频道命名为“日期”并将其放入某个类别
起初,您不能将.
放在频道名称中。据我所知,你能做的最好的事情就是把 -
.
然后,当您创建频道时,使用这样的变量
channel = await category.create_text_channel(date, overwrites=overwrites)
await channel.send('New channel created.`)
并发送消息。
您可以在创建频道之前通过迭代 category.text_channels
检查频道名称。
date = now.strftime("%A-%d-/%m-/%Y"
for channel in category.text_channels:
if date in channel.name:
await channel.send('This channel exist')
return
channel = await category.create_text_channel(date, overwrites=overwrites)
await channel.send('New channel created.`)
因此,使用此代码,如果存在名为 date
变量的频道,它将向该频道发送一条消息,如果不存在,它将创建该频道。
大家好,
我正在尝试创建一个小问题 - 回答问题
那我要做什么?
- 对特定频道中的消息做出反应(完成)
- 在特定类别下创建新频道(完成)
- 获取频道id并在该频道发送消息
@client.event
async def on_raw_reaction_add(payload):
guild_id = payload.guild_id
guild = client.get_guild(guild_id)
emoji = payload.emoji.name
message_id = payload.message_id
category = guild.get_channel(766608102081822730)
if message_id == 769082530611593216 and emoji == "":
overwrites = {guild.default_role: discord.PermissionOverwrite(read_messages=True, send_messages=True)}
category = guild.get_channel(769083552209698826)
now = datetime.now()
date = now.strftime("%A - %d./%m./%Y")
await category.create_text_channel(date, overwrites=overwrites)
我的问题是 - 如何从新创建的频道获取频道 ID?
为什么我需要这个新建频道的 ID?
因为我想向频道发送消息 - 因此我需要 ID 对吗?
我的第二个问题:
我想要像日期一样的频道名称(星期一 - 2020 年 12 月 10 日)- discord 显示的名称像
monday-10122020
没问题 - 一切都很好
但我希望我的机器人检查名称“monday-10122020”是否已被使用 - 如果是 returns - 否则他会创建一个新频道命名为“日期”并将其放入某个类别
起初,您不能将.
放在频道名称中。据我所知,你能做的最好的事情就是把 -
.
然后,当您创建频道时,使用这样的变量
channel = await category.create_text_channel(date, overwrites=overwrites)
await channel.send('New channel created.`)
并发送消息。
您可以在创建频道之前通过迭代 category.text_channels
检查频道名称。
date = now.strftime("%A-%d-/%m-/%Y"
for channel in category.text_channels:
if date in channel.name:
await channel.send('This channel exist')
return
channel = await category.create_text_channel(date, overwrites=overwrites)
await channel.send('New channel created.`)
因此,使用此代码,如果存在名为 date
变量的频道,它将向该频道发送一条消息,如果不存在,它将创建该频道。