Discord.py получает все имена и различия для членов гильдии (python) - PullRequest
0 голосов
/ 02 августа 2020
import discord

class Bot(discord.Client):
    def __init__(ctx, **kwargs):
        super().__init__(**kwargs)
        ctx.loop.create_task(ctx.get_all_members())

    async def get_all_members(ctx):
            for member in ctx.guild.members:
             print(member)

bot = Bot()
bot.run("My Token Here", bot=False)

** Ошибка

строка 10 в get_all_members для члена в ctx.guild.members: AttributeError: объект 'Bot' не имеет атрибута 'guild'

1 Ответ

0 голосов
/ 04 августа 2020

Вы должны использовать следующую команду в Discord, чтобы запустить его $get_names.

Имейте в виду, если у вас много членов в гильдии, она выдаст ошибку и не сможет отправить большой сообщение. Но вы можете сохранить его как txt или просто print it


import discord
from discord.ext import commands

bot = commands.Bot(command_prefix="$")


@bot.event
async def on_ready():
    print("Logged in as")
    print(bot.user.name)
    print(bot.user.id)
    print("------")



@bot.command()
async def get_names(ctx):
  names = list()
  for user in ctx.guild.members:
    names.append(user.name)
    
  await ctx.channel.send('\n'.join(names))

bot.run(TOKEN_HERE)

...