Discord.py 我试图发送一个消息给每个设置了那个频道的人,但我在发送消息时遇到了问题

Discord.py 我试图发送一个消息给每个设置了那个频道的人,但我在发送消息时遇到了问题,discord.py,Discord.py,理论上,代码应该向所有设置了该通道的服务器发送消息!尽管它似乎不起作用。我想这是因为即使我在sqlite中也无法获得频道id。代码如下: @client.event _ready()上的异步定义: 打印(“客户端已联机!”) db=sqlite3.connect('entry.sqlite') cursor=db.cursor() cursor.execute(“”) 如果主目录不存在,则创建表( 公会id文本, 频道id, 用户id ) ''') @client.command() 异步定义p

理论上,代码应该向所有设置了该通道的服务器发送消息!尽管它似乎不起作用。我想这是因为即使我在sqlite中也无法获得频道id。代码如下:

@client.event
_ready()上的异步定义:
打印(“客户端已联机!”)
db=sqlite3.connect('entry.sqlite')
cursor=db.cursor()
cursor.execute(“”)
如果主目录不存在,则创建表(
公会id文本,
频道id,
用户id
)
''')
@client.command()
异步定义ping(ctx):
嵌入=不和谐。嵌入(
title=“Pong!”,
description=f“您的ping为{client.latency}ms!”,颜色=0xf9c900)
等待ctx.send(嵌入=嵌入)
@client.command()
异步def public(ctx,频道:discord.TextChannel,获奖者:int,时间:int,链接:str,*,奖金:str):
db=sqlite3.connect('entry.sqlite')
cursor=db.cursor()
channel_id=cursor.execute(f“从主目录中选择channel_id,其中guild_id={ctx.guild.id}”)
结果=cursor.fetchone()
如果结果为无:
返回
其他:
对于client.guilds中的帮会:
对于通道id中的通道:
尝试:
嵌入=不和谐。嵌入(
title=f“**赠送{prize}**”,

description=f“React with首先,您的SQL
“从主界面中选择channel\u id,guild\u id={ctx.guild.id}”
将为运行
public
命令的公会检索
channel\u id


然后,使用cursor.fetchone()获得一行数据
,但在循环中,您试图循环使用
通道id
,这不是您想要的数据,因此我怀疑您的for循环是否正在运行。

那么我应该怎么做呢?您需要创建一个SQL语句,选择表中通道id不为Null的所有行或任何取决于您的架构的行。然后您将使用获取所有行并对其进行迭代。仅供参考,您需要在异步python中使用,因为同步sqlite库可能会阻塞事件循环,从而导致一些奇怪的行为。