首页 > 解决方案 > 在 Python Discord Bot 中按名称而不是 ID 向特定文本通道发送消息

问题描述

是否有与 client.get_channel('ID') 等效的命令,可让您将消息发送到专门命名的文本通道。

我的项目是一个报告系统,它将在所有员工都可以看到的员工聊天中打印报告。我希望这可以跨多个服务器工作,因此不能选择使用 ID,因为所有服务器都有不同的通道 ID。

标签: python-3.xdiscord.py

解决方案


您可以使用它discord.utils.get来遍历server.channels并找到具有特定名称的通道:

import discord
from discord.utils import get

async def report(server, name, *args, **kwargs):
    channel = get(server.channels, name=name, type=discord.ChannelType.text)
    await bot.send_message(channel, *args, **kwargs)

推荐阅读