#discord.py
#discord.py
Вопрос:
Я перепробовал много способов, но это не сработало, поэтому, если у кого-то есть какие-либо идеи о создании команды, пожалуйста, поделитесь со мной
вот мой код
async def serverlist(ctx): mS = ', '.join([str(server) for server in member.guilds]) s = len(mebmer.guilds) print("Server list: " mS) if s lt; 10: embed = discord.Embed(title="This user is currently in this server" str(mS) " servers:", description="```jsonn" mS "```", colour=0xFFFFF) return await ctx.send(embed=embed)
Комментарии:
1. Какую ошибку вы получаете?
2. моя ошибка-ошибка атрибута объект-член не имеет атрибутов гильдий
3. Вы ссылаетесь
member.client
на что — нибудь в своем коде?4. да .присоединяйтесь([str(сервер) для сервера в member.гильдии])
Ответ №1:
Во — первых, добавьте member
в качестве аргумента команды: async def serverlist(ctx, member: discord.Member):
Вы можете получить guilds
список, используя следующий код:
guilds = [guild.name for guild in bot.guilds if guild.get_member(member.id) is not None]
Вызовите команду, введя что-то вроде [yourprefix]serverlist @Member#1234
в чате.
@bot.command() async def serverlist(ctx, member: discord.Member): guilds = [guild.name for guild in bot.guilds if guild.get_member(member.id) is not None and guild != ctx.guild] embed = discord.Embed(title=f"This user is currently in this server and in {len(guilds)} servers", description='n'.join(guilds), color=0xFFFFF) await ctx.send(embed=embed)
Примечание: При этом будут отображаться только гильдии, в которых есть ваш бот и указанный участник.
Комментарии:
1. получено сообщение об ошибке, вызывающее ошибку CommandInvokeError(exc) из exc discord.ext.команды.ошибки. CommandInvokeError: Команда вызвала исключение: Ошибка типа: может только объединить str (не «список») в str
2. Используйте
" ".join(guilds)
вместоguilds
.3. я попробую, одну секунду
4. я в замешательстве, лол, ты можешь объяснить?
5. Работает ли это на вас?