如何从我的机器人获取语音频道中的成员列表?

2024-10-05 11:01:57 发布

您现在位置:Python中文网/ 问答频道 /正文

from django.shortcuts import render, redirect
import discord
import random
from discord.ext import commands


client = commands.Bot(command_prefix = '.')
channel = None

@client.event
async def on_ready():
    channel = client.get_channel(677999369642836037)

async def members_list(request):
    curMembers = []
    for member in channel.members:
        curMembers.append(member)

    return render(request, "discordTool/discordTool.html", {
        'members_list': curMembers,
    })

client.run('my token')

这是my views.py的一个应用程序,它假定在我的django站点的语音频道中显示活动成员。然而,这不起作用,有人能帮助我或了解discord服务器有关discord的API吗


Tags: djangofromimportclientasyncrequestdefchannel
1条回答
网友
1楼 · 发布于 2024-10-05 11:01:57

这是因为channel = client.get_channel(677999369642836037)位于on_ready事件内部,使其成为局部变量。无法在本地协同路由之外访问它

您需要将其设置为全局变量,或者将其移动到members_list协同例程中

from django.shortcuts import render, redirect
from discord.ext import commands


client = commands.Bot(command_prefix = '.')

async def members_list(request):
    channel = client.get_channel(677999369642836037)
    curMembers = []
    for member in channel.members:
        curMembers.append(member)

    return render(request, "discordTool/discordTool.html", {
        'members_list': curMembers,
    })

client.run('my token')

相关问题 更多 >

    热门问题