各埋め込みに固有の絵文字を含む埋め込みを送信するボットがあり、絵文字をアップロードしたテストサーバーではうまく機能しますが、他のサーバーにはカスタム絵文字がないため、表示されません。
使用:
emoji = get(ctx.message.guild.emojis, name='emojinamehere')
もちろん、それが含まれているサーバーでは機能しますが、ボットが含まれているサーバーからすべての絵文字を取得して使用する方法はありますか?
特にctx.message.guild.emojis
別名を使用しているため、コンテキストギルドから絵文字を取得しようとしています(絵文字がない場合があります)。
get
名前による検索を取り除き、bot.get_emoji()を使用することができます。ここでbotはボット/クライアントオブジェクトです。
ボットは、すべてのギルドのすべての絵文字を内部キャッシュに保存し、そこからget_emoji()
取得して、すべてのギルドで機能するようにします。
これを行うには、現在取得している名前ではなく、絵文字ID(整数)が必要になります。名前で取得してからIDを取得することもできますが、それは不要な手順です。
絵文字IDは一意であり、変更できないため、絵文字IDを使用してください(名前は重複することも変更されることもあるため、名前による取得で問題が発生する可能性があります)。
Discordクライアントアプリを使用すると、絵文字IDをすばやく取得できます。
\
絵文字の前に入力してください<:emoji_name:emoji_id>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加