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

时间:2018-08-13 13:34:27

标签: python discord discord.py discord.py-rewrite

我将如何打印以管理我所有朋友的列表? 我希望能够通过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)

3 个答案:

答案 0 :(得分:0)

从错误状态可以看出,discord.ClientUser.friends似乎没有“不可打包”的数据。

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

尝试进行print discord.ClientUser.friends确认。

答案 1 :(得分:0)

discord.ClientUser.friends不可迭代-因此,您无法在for循环中遍历其各项。我不知道该程序包,但是尝试查看它是什么类型(您可以这样操作-print(type(discord.ClientUser.friends))),然后查看如何访问其中的数据。

答案 2 :(得分:0)

discord.ClientUser是一门课。您想要代表您的机器人用户帐户的ClientUser实例。您可以使用bot.user来获得此权限,因为commands.BotClient的子类

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