python-3.x - 在 Python Discord Bot 中按名称而不是 ID 向特定文本通道发送消息
问题描述
是否有与 client.get_channel('ID') 等效的命令,可让您将消息发送到专门命名的文本通道。
我的项目是一个报告系统,它将在所有员工都可以看到的员工聊天中打印报告。我希望这可以跨多个服务器工作,因此不能选择使用 ID,因为所有服务器都有不同的通道 ID。
解决方案
您可以使用它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)
推荐阅读
- python - TensorFlow ValueError:logits 和标签必须具有相同的形状 ((25, 1) vs (1, 1))
- docker - 为什么 docker build 将构建上下文发送到 docker daemon 这么慢
- dynamics-crm - Dynamics 365 CRM:是否知道在创建定期约会之前创建了多少约会?
- google-cloud-platform - 如何在 Apache Airflow 中加载到 BigQuery 之前转换数据?
- vba - 如何使用范围变量和同一变量的偏移量选择范围?
- python - 如何避免网格中的不连续性
- elasticsearch - 如何等到像弹性搜索这样的依赖服务可用于我在 docker-compose 中的服务
- python - Pandas:将值从 column.UID 复制到 column8 或 column9,具体取决于值的长度
- python-3.x - 如何从 tkinter 条目中制作评分按钮?
- pandas - Pandas 分组条形图