当前位置: 首页 > 知识库问答 >
问题:

不和谐机器人从所有通道检索引脚

丌官炎彬
2023-03-14

我想让我的机器人在这个服务器上发布来自所有6个频道的引脚,但是,我的机器人只从调用命令的当前频道获得引脚。我想知道是否有办法解决这个问题。不和谐版本1.0.0A

我目前掌握的代码是:

    if "seepins()" == message.content.lower():
        # retrieve and post all pins again
        allPins = await message.channel.pins()
        for i in allPins:
            # Check if pin is text or a link
            mat = i.attachments
            if len(mat)==0:
                await message.channel.send(i.content)
            else:
                await message.channel.send(mat[0].url)

以下代码从存在此机器人的所有服务器检索用户详细信息。我想知道在第一个代码片段中是否应该使用公会而不是通道?这给了我一个错误的结果。

 if "member_status()" == message.content.lower():
        online = 0
        idle = 0
        offline = 0
        print(f"Testing the API with guild.owner: {guild}")
        for i in guild.members:
            if str(i.status) == "online":
                online +=1
            elif str(i.status) == "offline":
                offline +=1
            else:
                idle +=1
        await message.channel.send(f"```py\ntotal: {guild.member_count} \nonline: {online}  \nidle: {idle}  \noffline: {offline}```")

共有1个答案

商勇
2023-03-14

多亏了Xay的评论,我才明白这一点。您需要做的是使用

message.guild.text_channels

返回所有文本频道的列表。然后迭代每个通道,并使用

myPins = await mychannel.pins()

它可能不是最有效的代码,但它完成了以下任务:)并最终再次迭代以从该通道重新发布每个pin。

代码在最终看起来像:

    if "getAllPins()" == message.content.lower():
        # get all channels
        allChannels = message.guild.text_channels
        # go through each channel
        for myChannel in allChannels:
            # get pins present in this channel
            myPins = await mychannel.pins()
            # re-post all the pins
            for rePin in myPins:
                mat = rePin.attachments
                if len(mat)==0:
                    await message.channel.send(rePin.content)
                else:
                    await message.channel.send(mat[0].url)
 类似资料:
  • 我正在尝试让我的JDA discord bot删除文本频道中的所有消息,目前我使用的代码效率极低,偶尔有效,有时无效。代码: 我知道一个事实,我正在调用函数,我知道一个事实,正在传递的文本通道是正确的。请帮我同样的忙。

  • 我希望我的不和谐机器人加入语音频道。但是我遇到了一个问题,每当我想让它加入风投时,什么都不会发生——甚至没有错误。我尝试过SO/Git的其他解决方案,但没有一个适合我(下面有一个)。 编辑:解决了!问题是:没有不和。已安装py[语音]模块。解决方案:

  • 我正在努力让我的机器人进入语音频道,我已经阅读了这里的很多帖子,但没有一篇能够解决我的问题,我正在尝试让我的机器人复制yt视频的声音,但它甚至没有加入,我不知道该怎么办,下面是代码:

  • 我已经创建了一个bot,它现在在我的discord服务器中,使用下面的代码。 我的问题是,一旦我在与bot不和谐的聊天中,我如何调用命令让bot运行代码,为用户列表收集csv?我不确定如何调用机器人,一旦它在聊天/服务器中获得列表。

  • 当用户使用搜索命令时,我的机器人将用结果和表情符号回复。如何检查用户是否单击此表情符号? 事件回复(idResults.getMovieResults()。获取(0)。toString())。队列();事件getChannel()。sendMessage(“单击将其添加到您关注的列表中”)。队列(msg)-

  • 我试图做一个程序来创建一个无尽的循环,例如: 但是主要的问题是一个机器人听不到另一个机器人的声音,所以这不起作用。。。 有没有办法让机器人听另一个机器人的?提前感谢!:)