为什么 client.emojis,新版本的 client.get_all_emojis() 在使用 Discord 的 Python API 时返回 empy 列表?



基于这个,这个,这个和这个,我希望client.get_all_emojis()在我的Discord聊天机器人中工作:

import discord
from dotenv import load_dotenv
import asyncio
import os
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
GUILD = os.getenv('DISCORD_GUILD')
client = discord.Client()
@client.event
async def on_message(message):
if message.content == 'send emoji':
await message.channel.send(client.get_all_emojis()[0])
client.run(TOKEN)

我希望client.get_all_emojis()是一个列表,并希望机器人发送该列表的第一个元素。但是我得到:

回溯(最近一次调用(:
文件 "/home/ps738/.local/lib/python3.8/site-packages/discord/client.py", 312号线,_run_event

await coro(*args, **kwargs(> 文件 "bot5.py",第 15 行,on_message

await message.channel.send(client.get_all_emojis(([0](> AttributeError: 'Client' 对象没有属性 'get_all_emojis'

要点:">客户端"对象没有属性"get_all_emojis"。

我该如何解决这个问题?

>添加

根据帕特里克对这个答案的评论以及PrimeEpoch对我问题的回答的来源,我尝试用client.emojis[0]替换client.get_all_emojis()[0]。现在它说:IndexError: list index out of range,所以可能返回了一个空列表,这并不理想。

可能是因为你使用的是 discord.py 的重写版本,从我在这里找到的来看,你应该使用 client.emojis

最新更新