将好友列表打印到控制台 Discord.py

Print friends-list to console Discord.py

我将如何打印以控制我所有朋友的列表? 我希望能够通过 Discord.py 库实现这一点,希望这里有人知道。

我目前收到错误:
for user in discord.ClientUser.friends: TypeError: 'property' object is not iterable

节目:

token = ""
prefix = "::"

import discord
import asyncio
import codecs
import sys
import io
from discord.ext import commands
from discord.ext.commands import Bot

print ("waiting")

bot = commands.Bot(command_prefix=prefix, self_bot=True)
bot.remove_command("help")

@bot.event
async def on_ready():
    print ("Friends")

@bot.command()
async def userlist(ctx):
    for user in discord.ClientUser.friends:
        print (user.name+"#"+user.discriminator)

bot.run(token, bot=False)

根据错误说明,discord.ClientUser.friends 似乎没有 "unpackable" 数据。

例如,
"abcdefg" 将迭代为 "a"、"b"、"c" 等
[1, 2, 3, 4] 将迭代为 1、2、3、4
discord.ClientUser.friends 中存储的值似乎是一个对象,无法迭代。

尝试 print discord.ClientUser.friends 来确认这一点。

discord.ClientUser.friends 不可迭代 - 因此您不能 运行 在 for 循环中遍历它的项目。我不知道那个包,但试着看看它是什么类型(你可以这样做 - print(type(discord.ClientUser.friends))) 然后看看如何访问其中的数据。

discord.ClientUser is a class. You want the ClientUser instance that represents your bots user account. You can get this with bot.user,因为 commands.BotClient

的子类
@bot.command()
async def userlist(ctx):
    for user in bot.user.friends:
        print (user.name+"#"+user.discriminator)