我将如何打印以管理我所有朋友的列表? 我希望能够通过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)
答案 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.Bot
是Client
的子类
@bot.command()
async def userlist(ctx):
for user in bot.user.friends:
print (user.name+"#"+user.discriminator)