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

无法在discord中获取语音频道。派克

梁丘霖
2023-03-14
    import os
    from discord.ext import commands
    
    bot = commands.Bot(command_prefix='~')
    
    for fileName in os.listdir('cogs'):
        if fileName.endswith('.py') and fileName != '__init__.py':
            bot.load_extension(f'cogs.{fileName[:-3]}')
    bot.run(* TOKEN * )

问题出在下面的代码上:

    import discord
        from discord.ext import commands
        
        class MoveMembers(commands.Cog):
            def __init__(self, bot):
                self.bot = bot
                self.channel_to_move= discord.Client().get_channel(* channel ID *)
        
        
            @commands.command()
            async def send_to_channel(self, ctx, *members: discord.Member):
                for member in members:
                    if member.voice:
                        print(type(self.channel_to_move))
                        await member.move_to(self.channel_to_move)
                await ctx.send('message recieved')

            def setup(bot):
                bot.add_cog(MoveMembers(bot))

函数的作用是移动一个或多个已引用到specefic voice chanel的成员。

示例:“~send_to_channel@person”

调用该函数时,由于某种原因,“discord.Client().get_channel(*channel ID*)”不会返回语音频道或任何该频道的频道。我已经阅读了stack overflow中的文档和其他一些答案,但我不知道是什么错了。。。

****编辑****也有人知道为什么这个代码不工作:

def move_rights():
    def predicate(ctx):
        return commands.check_any(commands.is_owner(), 
                    commands.has_role("Move Rights"))
    return commands.check(predicate)



    @commands.command()
    @move_rights()
    async def send_to_gulag(self, ctx, *members: discord.Member):
        for member in members:
            if member.voice:
                await member.move_to(self.gulag)
        await ctx.send('message recieved')

每个人都可以使用这个命令,所以我不知道“move_rights()”函数是否总是返回“true”,或者只是没有正确地实现它。(该守则是原问题守则的一部分)

共有1个答案

范云
2023-03-14

self中。通道移动=不和谐。客户端()。get_channel(*channel ID*)您不应该引用类本身,而是引用实例

self.channel_to_move = self.bot.get_channel(* channel ID *)

了解类和实例之间的差异很重要

 类似资料:
  • 我的服务器上有一个语音频道,用来显示日期,我正在创建一个机器人,它应该每分钟更新一次。我有问题让机器人重命名机器人,因为我不是很有经验discord.py.这是代码: 任何帮助都将不胜感激。

  • 我只是想做一个简单的方法,让我的不和谐机器人加入一个频道。我已经看了多个线程,其中一些已经过时,因为它们是在discord.py迁移到v1.0之前。我已经使用type()和dir()来检查通道是什么类型,并查看它有什么方法。我将其与discord.py的API进行了比较,我发现一个问题是dir()创建了一个名为的字段,但是API显示对象有一个名为方法。感谢所有的帮助!:)

  • 我正在做一个简单的不和谐机器人,node.js.我让它运行并响应,但我不能召唤它到语音频道这是我使用的代码 它总是转到“加入语音频道”消息,即使我在语音频道。

  • 我正在尝试将我的discord机器人连接到语音通道,但它不工作。 没有任何错误或任何事情,当我这样做时什么都不会发生!加入我的不和频道。 这是我的代码。我试图寻找一些教程,但大多数似乎已经过时了。 有人能帮我吗? 编辑:

  • 我查看了所有关于将discord机器人连接到语音频道以播放声音的问题,但找不到我需要的答案。我是discord library的新手,没有解决问题的工作原理,所以当我在网站上尝试给出答案时,我经常会遇到如下错误: 我的代码如下: 这只是代码的语音部分,其他发送或事件部分正在工作。

  • 我正在尝试编写自己的音乐机器人,但它没有加入我所在的语音频道。其他一切都很好。我认为我应该使用npm安装一个特定的东西,但我不知道这是否正确,我不确定,所以有人可以告诉我应该做什么来解决这个问题。。。 这是我的代码: