APIリファレンス

ここではdiscord.pyのAPIの概要を説明します。

注釈

このモジュールはPythonのloggingモジュールを使用して、出力に依存しない方法でエラーや診断の内容を記録します。loggingモジュールが設定されていない場合、これらのログはどこにも出力されません。discord.pyでloggingモジュールを使用する方法の詳細は ログの設定 を参照してください。

クライアント

Client

class discord.Client(*, intents, **options)

Discordに接続するクライアント接続です。このクラスはDiscordのWebSocket、及びAPIとの対話に使用されます。

async with x

非同期的にクライアントを初期化し自動でクリーンアップします。

バージョン 2.0 で追加.

Client には多くのオプションを渡すことが可能です。

パラメータ
  • max_messages (Optional[int]) --

    内部のメッセージキャッシュに保存するメッセージの最大数。デフォルトは 1000 です。 None が渡されるとメッセージキャッシュは無効化されます。

    バージョン 1.3 で変更: メッセージキャッシュの無効化が可能になり、デフォルトのキャッシュサイズが 1000 になりました。

  • proxy (Optional[str]) -- プロキシのURL。

  • proxy_auth (Optional[aiohttp.BasicAuth]) -- プロキシのHTTP Basic認証を表すオブジェクト。

  • shard_id (Optional[int]) -- 0 から始まり、 shard_count より小さい整数。

  • shard_count (Optional[int]) -- シャードの総数。

  • application_id (int) -- クライアントのアプリケーションID。

  • intents (Intents) --

    セッションで有効にするインテント。これは特定のゲートウェイイベントの発火、またはその送信を無効化できます。

    バージョン 1.5 で追加.

    バージョン 2.0 で変更: パラメータが必須になりました。

  • member_cache_flags (MemberCacheFlags) --

    ライブラリのメンバーのキャッシュ方法をより詳細に制御することができます。指定されていない場合、デフォルトでは現在のインテントに応じて可能な限りキャッシュを行います。

    バージョン 1.5 で追加.

  • chunk_guilds_at_startup (bool) --

    必要に応じて、 on_ready() を遅延させ、すべてのギルドをチャンク化するかどうかを設定します。この操作は大量のギルドに参加している場合、非常に低速になります。 Intents.membersTrue である場合、これはデフォルトで True になります。

    バージョン 1.5 で追加.

  • status (Optional[Status]) -- Discordにログインした際の、開始時ステータス。

  • activity (Optional[BaseActivity]) -- Discordにログインした際の、開始時アクティビティ。

  • allowed_mentions (Optional[AllowedMentions]) --

    送信されるすべてのメッセージにおいて、クライアントがメンションを処理するかどうかを制御します。

    バージョン 1.4 で追加.

  • heartbeat_timeout (float) -- HEARTBEAT_ACKを受信できない際に、WebSocketをタイムアウトさせて再起動するまでの最大秒数。最初のパケットの処理に時間がかかり、接続を切断できないというような状況時に便利です。デフォルトでは60秒に設定されています。

  • guild_ready_timeout (float) --

    メンバーキャッシュの準備を行い、READYを実行する前にGUILD_CREATEストリームが終了するのを待機する最大秒数。デフォルトは2秒です。

    バージョン 1.4 で追加.

  • assume_unsync_clock (bool) --

    システム時計が同期されていない可能性を考慮するかどうかを設定します。これはレートリミットの処理コードに適用されます。デフォルトでは True が設定されており、この場合、ライブラリはDiscordから受け取ったレートリミットバケットをリセットするため内部で時間を処理します。 False に設定されている場合は、システム時計を利用してどれくらいの時間スリープするかを計算します。もし、これを False に設定するのであれば、システム時計をGoogleのNTPサーバーと同期させることを推奨します。

    バージョン 1.3 で追加.

  • enable_debug_events (bool) --

    ゲートウェイ関連情報のデバッグにのみ役立つイベントを有効にするかどうかを設定します。

    現在は on_socket_raw_receive()on_socket_raw_send() がそのイベントです。 もし False にしたのならこれらのイベントは呼ばれません。 (パフォーマンスを考慮したためです) これを有効にする場合は True にしましょう。 デフォルトは False です。

    バージョン 2.0 で追加.

  • http_trace (aiohttp.TraceConfig) --

    ライブラリが aiohttp を使用して行うHTTPリクエストの追跡に使用する設定。これを使用するとライブラリが行うリクエストを確認できます。詳細は aiohttp documentation を確認してください。

    バージョン 2.0 で追加.

  • max_ratelimit_timeout (Optional[float]) --

    グローバル以外のレート制限が発生したときに待機する最大秒数。 渡された秒数以上待たないといけない場合、 RateLimited が発生します。デフォルトではタイムアウト制限はありません。 誤用や不要なBANを防ぐため、最小値は 30.0 秒です。

    バージョン 2.0 で追加.

ws

クライアントが現在接続しているWebSocketゲートウェイ。 None でもかまいません。

@event

受け取るイベントを登録するデコレータ。

イベントの詳細については 以下のドキュメント を参照してください。

イベントは coroutine でなければいけません。違う場合は TypeError が送出されます。

サンプル

@client.event
async def on_ready():
    print('Ready!')

バージョン 2.0 で変更: coro 引数は位置限定引数になりました。

例外

TypeError -- 渡された関数がコルーチンでない場合。

property latency

HEARTBEATとHEARTBEAT_ACK間の待ち時間を秒単位で測定します。

これはDiscord WebSocketプロトコルの待ち時間とも言えます。

float

is_ws_ratelimited()

bool: WebSocketにレート制限が課されているかどうかを指します。

これはメンバーを取得する際、HTTPを利用するか、ゲートウェイを介して行うかを決定するときに知っておくと役立ちます。

バージョン 1.6 で追加.

property user

接続されたクライアント。ログインしていない場合は None です。

Optional[ClientUser]

property guilds

接続したクライアントがメンバーとして参加しているギルド。

Sequence[Guild]

property emojis

接続したクライアントが利用できる絵文字。

Sequence[Emoji]

property stickers

接続したクライアントが持つスタンプ。

バージョン 2.0 で追加.

Sequence[GuildSticker]

property cached_messages

接続したクライアントがキャッシュしているメッセージの読み取り専用リスト。

バージョン 1.1 で追加.

Sequence[Message]

property private_channels

接続したクライアントが参加しているプライベートチャンネル。

注釈

Discordでのプライベートチャンネルの取扱いは内部的に処理されているため、これは最新のプライベートチャンネルから最大128個までしか取得できません。

Sequence[abc.PrivateChannel]

property voice_clients

ボイス接続のリストを表します。

通常、 VoiceClient インスタンスです。

List[VoiceProtocol]

property application_id

クライアントのアプリケーションID。

これが __init__ で渡されなかった場合、データを含むイベントが発生した際にゲートウェイを介して、または login() の後に取得されます。通常は on_connect() が呼び出された後です。

バージョン 2.0 で追加.

Optional[int]

property application_flags

クライアントのアプリケーションフラグ。

バージョン 2.0 で追加.

ApplicationFlags

property application

クライアントのアプリケーション情報。

これは login() で取得され、その後更新されません。これによりゲートウェイ接続を行わずにapplication_idを取得できます。

もし login() の呼び出し前にアクセスされた場合は None です。

参考

application_info() API呼び出し

バージョン 2.0 で追加.

Optional[AppInfo]

is_ready()

bool: クライアントの内部キャッシュが利用可能となっているか。

await on_error(event_method, /, *args, **kwargs)

This function is a coroutine.

クライアントによって提供されるデフォルトのエラーハンドラ。

デフォルトでは、これはライブラリロガーに出力されますが、異なる実装によって上書きされる可能性があります。詳細については on_error() を確認してください。

バージョン 2.0 で変更: event_method パラメータが位置限定引数になり、 sys.stderr に出力するのではなくログに記録するようになりました。

await before_identify_hook(shard_id, *, initial=False)

This function is a coroutine.

セッションの識別前に呼び出されるフック。複数の識別クライアントの同期をより細かく制御したい場合に役立ちます。

デフォルトの実装では5秒間スリープします。

バージョン 1.4 で追加.

パラメータ
  • shard_id (int) -- IDENTIFYされることを要求したシャードID

  • initial (bool) -- この識別が、最初の初期化を伴う識別であるかどうか。

await setup_hook()

This function is a coroutine.

ボットのセットアップのためのコルーチンです。デフォルトでは空です。

ボットがログインした後で、ウェブソケットに接続する前に非同期のセットアップを行いたい場合は、このコルーチンを上書きしてください。

これは login() にて一度だけ呼び出され、イベントが呼び出される前に呼び出されるため、 on_ready() より優れています。

警告

これはWebSocket接続の 前に 呼ばれるため、WebSocketを待つ関数の呼び出しはデッドロックします。これには wait_for()wait_until_ready() が含まれます。

バージョン 2.0 で追加.

await login(token)

This function is a coroutine.

指定した資格情報を使用してクライアントにログインし、 setup_hook() を呼び出します。

パラメータ

token (str) -- 認証用のトークン。このライブラリが処理するため、トークンの頭に何も付けないでください。

例外
  • LoginFailure -- 不正な認証情報が渡された場合。

  • HTTPException -- 不明なHTTP関連のエラーが発生した場合。通常、ステータスコードが200でないか、既知の誤った資格情報が渡された場合です。

await connect(*, reconnect=True)

This function is a coroutine.

WebSocket接続を作成し、Discordからのメッセージを受け取れるようにします。これはイベントシステム全体とライブラリの様々な機能を実行するループです。WebSocket接続が終了するまで、制御は再開されません。

パラメータ

reconnect (bool) -- インターネットの障害やDiscord側の特定の障害が発生した際に再接続を試みるかどうか。不正な状態による特定の切断 (無効なシャーディングペイロードや不正なトークンなど) は処理されません。

例外
  • GatewayNotFound -- Discordに接続するためのゲートウェイが見つからない場合。通常、この例外はDiscord APIの停止によって引き起こされます。

  • ConnectionClosed -- WebSocket接続が終了した場合。

await close()

This function is a coroutine.

Discordとの接続を閉じます。

clear()

Botの内部状態をクリアします。

これが実行されると、Botは「再オープン」されたとみなされます。そのため、 is_closed()is_ready()False を返し、内部のキャッシュもクリアされます。

await start(token, *, reconnect=True)

This function is a coroutine.

login() + connect() を簡略化したコルーチン。

パラメータ
  • token (str) -- 認証用のトークン。このライブラリが処理するため、トークンの頭に何も付けないでください。

  • reconnect (bool) -- インターネットの障害やDiscord側の特定の障害が発生した際に再接続を試みるかどうか。不正な状態による特定の切断 (無効なシャーディングペイロードや不正なトークンなど) は処理されません。

例外

TypeError -- 予期しないキーワード引数を受け取った場合。

run(token, *, reconnect=True, log_handler=..., log_formatter=..., log_level=..., root_logger=False)

イベントループの初期化を抽象化するブロッキングコール。

イベントループをより詳細に制御するには、この関数を使用しないでください。 start() または connect() + login() を使用してください。

またこの関数は、初心者がライブラリの仕組みを知ることが簡単にできるよう logging ライブラリを設定します。より高度なユーザーは、 log_handlerNone を渡してこれを無効化することもできます。

警告

この関数はブロッキングを行うため、必ず最後に呼び出してください。この関数を呼び出した後に呼び出されるイベントや関数は、Botが停止するまで実行されません。

パラメータ
  • token (str) -- 認証用のトークン。このライブラリが処理するため、トークンの頭に何も付けないでください。

  • reconnect (bool) -- インターネットの障害やDiscord側の特定の障害が発生した際に再接続を試みるかどうか。不正な状態による特定の切断 (無効なシャーディングペイロードや不正なトークンなど) は処理されません。

  • log_handler (Optional[logging.Handler]) --

    ライブラリロガーにて使用すべきログハンドラ。もしこれが None の場合ライブラリはログ関連のセットアップを一切行いません。 None を渡してもログは記録されますが、設定は自己責任となります。

    渡されない場合のデフォルトは logging.StreamHandler です。

    バージョン 2.0 で追加.

  • log_formatter (logging.Formatter) --

    指定されたログハンドラで使用するフォーマッタ。渡されない場合は、既定で色ベースのログフォーマッタが使用されます (使用可能な場合)。

    バージョン 2.0 で追加.

  • log_level (int) --

    ライブラリロガーの既定のログレベル。これは log_handlerNone でない場合のみ適用されます。デフォルトは logging.INFO です。

    バージョン 2.0 で追加.

  • root_logger (bool) --

    ライブラリロガーではなくルートロガーを設定するかどうか。デフォルトではライブラリロガー ('discord') のみが設定されています。 これが True に設定されている場合、ルートロガーも設定されます。

    デフォルトでは False です。

    バージョン 2.0 で追加.

is_closed()

bool: WebSocket接続が閉じられているかどうかを示します。

property activity

ログイン時に使用されるアクティビティ。

Optional[BaseActivity]

property status

Status: Discordへのログイン時に使用されるステータス。

property allowed_mentions

許可されたメンションの設定。

バージョン 1.4 で追加.

Optional[AllowedMentions]

property intents

この接続用に設定されたインテント。

バージョン 1.5 で追加.

Intents

property users

Botが参照可能なユーザーのリストを返します。

List[User]

get_channel(id, /)

与えられたIDに合致するチャンネルまたはスレッドを返します。

バージョン 2.0 で変更: id 引数は位置限定引数になりました。

パラメータ

id (int) -- 検索するID。

戻り値

チャンネル、または該当するものが見つからない場合 None が返ります。

戻り値の型

Optional[Union[abc.GuildChannel, Thread, abc.PrivateChannel]]

get_partial_messageable(id, *, guild_id=None, type=None)

与えられたチャンネルIDのPartialMessageableを返します。

これはチャンネルIDがあるがメッセージを送信するためにAPI呼び出しをしたくない、という場合に便利です。

バージョン 2.0 で追加.

パラメータ
  • id (int) -- PartialMessageableを作成するためのチャンネルID。

  • guild_id (Optional[int]) -- 部分的なメッセージ可能チャンネルを作成するためのオプションのギルドID。これはメッセージの送信には必須ではありませんが、 jump_url()guild プロパティが適切に動作するようになります。

  • type (Optional[ChannelType]) -- PartialMessageableの基礎となるチャンネルタイプ。

戻り値

PartialMessageable

戻り値の型

PartialMessageable

get_stage_instance(id, /)

与えられたステージチャンネルのIDを持つステージインスタンスを返します。

バージョン 2.0 で追加.

パラメータ

id (int) -- 検索するID。

戻り値

ステージインスタンス、または該当するものが見つからない場合 None が返ります。

戻り値の型

Optional[StageInstance]

get_guild(id, /)

与えられたIDのギルドを返します。

バージョン 2.0 で変更: id 引数は位置限定引数になりました。

パラメータ

id (int) -- 検索するID。

戻り値

ギルドが返ります。見つからなかった場合は None が返ります。

戻り値の型

Optional[Guild]

get_user(id, /)

与えられたIDのユーザーを返します。

バージョン 2.0 で変更: id 引数は位置限定引数になりました。

パラメータ

id (int) -- 検索するID。

戻り値

Userが返ります。見つからなかった場合は None が返ります。

戻り値の型

Optional[User]

get_emoji(id, /)

与えられたIDの絵文字を返します。

バージョン 2.0 で変更: id 引数は位置限定引数になりました。

パラメータ

id (int) -- 検索するID。

戻り値

カスタム絵文字が返されます。見つからなかった場合は、 None が返ります。

戻り値の型

Optional[Emoji]

get_sticker(id, /)

与えられたIDに合致するギルドスタンプを返します。

バージョン 2.0 で追加.

注釈

標準スタンプを取得するには、 fetch_sticker()fetch_premium_sticker_packs() を使用してください。

戻り値

スタンプが返ります。見つからなかった場合は None が返ります。

戻り値の型

Optional[GuildSticker]

for ... in get_all_channels()

クライアントが「アクセス」できるすべての abc.GuildChannel のジェネレータを取得します。

使用例:

for guild in client.guilds:
    for channel in guild.channels:
        yield channel

注釈

abc.GuildChannel を受け取ったからと言って、そのチャンネルで発言ができるという意味ではありません。発言可能なチャンネルのみを取得したいのなら、 abc.GuildChannel.permissions_for() を使いましょう。

列挙

abc.GuildChannel -- クライアントが「アクセスする」ことができるチャンネル。

for ... in get_all_members()

クライアントが参照可能なすべての Member のジェネレータを返します。

使用例:

for guild in client.guilds:
    for member in guild.members:
        yield member
列挙

Member -- クライアントが見ることができるメンバー。

await wait_until_ready()

This function is a coroutine.

クライアントの内部キャッシュの準備が完了するまで待機します。

警告

setup_hook() 内で呼び出すとデッドロックが起こります。

wait_for(event, /, *, check=None, timeout=None)

This function is a coroutine.

WebSocketイベントがディスパッチされるまで待機します。

メッセージの送信者が、メッセージに返信したり、リアクションをつけたり、編集したりする、自己完結型の処理に利用できます。

timeout パラメータは asyncio.wait_for() に渡されます。デフォルトではタイムアウトしません。タイムアウトした際に asyncio.TimeoutError が送出されるのは、使いやすさを考慮したためです。

イベントが複数の引数を返す場合は、それらを含む tuple が代わりに返ります。イベントとそのパラメーターについては ドキュメント を参照してください。

この関数は 条件を満たす最初のイベント を返します。

サンプル

ユーザーからの返信を待つ場合:

@client.event
async def on_message(message):
    if message.content.startswith('$greet'):
        channel = message.channel
        await channel.send('Say hello!')

        def check(m):
            return m.content == 'hello' and m.channel == channel

        msg = await client.wait_for('message', check=check)
        await channel.send(f'Hello {msg.author}!')

メッセージ送信者がサムズアップリアクションを付けるのを待つ場合:

@client.event
async def on_message(message):
    if message.content.startswith('$thumb'):
        channel = message.channel
        await channel.send('Send me that 👍 reaction, mate')

        def check(reaction, user):
            return user == message.author and str(reaction.emoji) == '👍'

        try:
            reaction, user = await client.wait_for('reaction_add', timeout=60.0, check=check)
        except asyncio.TimeoutError:
            await channel.send('👎')
        else:
            await channel.send('👍')

バージョン 2.0 で変更: event 引数は位置限定引数になりました。

パラメータ
  • event (str) -- イベント名は イベントリファレンス に似ていますが接頭詞の on_ が必要ありません。

  • check (Optional[Callable[..., bool]]) -- 待っているものに該当するかを確認する関数。引数は待機しているイベントのパラメータを満たしている必要があります。

  • timeout (Optional[float]) -- タイムアウトして asyncio.TimeoutError が送出されるまでの秒数。

例外

asyncio.TimeoutError -- タイムアウトが設定されていて、かつその時間が経過した場合。

戻り値

単一の引数、あるいは イベントリファレンス のパラメータを反映した複数の引数の値を含む tuple が返ります。返る引数がない場合もあります。

戻り値の型

Any

await change_presence(*, activity=None, status=None)

This function is a coroutine.

クライアントのプレゼンスを変更します。

サンプル

game = discord.Game("with the API")
await client.change_presence(status=discord.Status.idle, activity=game)

バージョン 2.0 で変更: キーワード専用引数 afk を削除しました。

バージョン 2.0 で変更: この関数は InvalidArgument の代わりに TypeError を送出します。

パラメータ
  • activity (Optional[BaseActivity]) -- 実行中のアクティビティ。何も実行していない場合は None です。

  • status (Optional[Status]) -- 変更するステータスを示します。 None の場合、Status.online となります。

例外

TypeError -- activity パラメータが適切な型でない場合。

async for ... in fetch_guilds(*, limit=200, before=None, after=None, with_counts=True)

Botが所属するGuildを取得できる、 asynchronous iterator を取得します。

注釈

これを使用した場合、各 GuildGuild.ownerGuild.iconGuild.idGuild.nameGuild.approximate_member_count 、および Guild.approximate_presence_count のみ受け取ります。

注釈

これはAPIを呼び出します。通常は guilds を代わりに使用してください。

サンプル

使い方

async for guild in client.fetch_guilds(limit=150):
    print(guild.name)

リストへフラット化

guilds = [guild async for guild in client.fetch_guilds(limit=150)]
# guilds is now a list of Guild...

すべてのパラメータがオプションです。

パラメータ
  • limit (Optional[int]) --

    取得するギルドの数。 None の場合、Botがアクセスできるギルドすべてを取得します。ただし、これには時間が掛かることに注意してください。デフォルトは200です。

    バージョン 2.0 で変更: デフォルトが200に変更されました。

  • before (Union[abc.Snowflake, datetime.datetime]) -- 渡された日付、またはギルドより前のギルドを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。

  • after (Union[abc.Snowflake, datetime.datetime]) -- 渡された日付、またはギルドより後のギルドを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。

  • with_counts (bool) --

    ギルドにカウント情報を含めるかどうか。これを使うことで特権インテントがなくても Guild.approximate_member_countGuild.approximate_presence_count 属性が設定されます。デフォルトは True です。

    バージョン 2.3 で追加.

例外

HTTPException -- ギルドの取得に失敗した場合。

列挙

Guild -- データを解析したGuild。

await fetch_template(code)

This function is a coroutine.

discord.new URL またはコードから Template を取得します。

パラメータ

code (Union[Template, str]) -- DiscordテンプレートコードまたはURL (discord.new URLである必要があります)。

例外
  • NotFound -- 無効なテンプレートである場合。

  • HTTPException -- テンプレートの取得に失敗した場合。

戻り値

URL/コードからのテンプレート。

戻り値の型

Template

await fetch_guild(guild_id, /, *, with_counts=True)

This function is a coroutine.

IDから Guild を取得します。

注釈

これを使用した場合、 Guild.channelsGuild.members 及び、各 MemberMember.activityMember.voice を取得することはできません

注釈

このメソッドはAPIを呼び出します。通常は get_guild() を代わりとして使用してください。

バージョン 2.0 で変更: 引数 guild_id は位置専用引数となりました。

パラメータ
  • guild_id (int) -- 取得したいギルドのID。

  • with_counts (bool) --

    ギルドにカウント情報を含めるかどうか。これを使うことで特権インテントがなくても Guild.approximate_member_countGuild.approximate_presence_count 属性が設定されます。デフォルトは True です。

    バージョン 2.0 で追加.

例外
  • NotFound -- The guild doesn't exist or you got no access to it.

  • HTTPException -- ギルドの取得に失敗した場合。

戻り値

IDから取得したギルド。

戻り値の型

Guild

await create_guild(*, name, icon=..., code=...)

This function is a coroutine.

Guild を作成します。

10以上のギルドに参加しているBotアカウントはギルドの作成ができません。

バージョン 2.0 で変更: nameicon パラメータはキーワード限定引数になりました。 region パラメータは削除されました。

バージョン 2.0 で変更: この関数は InvalidArgument の代わりに ValueError を送出します。

パラメータ
  • name (str) -- ギルドの名前。

  • icon (Optional[bytes]) -- アイコンを表す bytes-like object です。 ClientUser.edit() で、予期されるデータの詳細を確認してください。

  • code (str) --

    Guildを作成するためのテンプレートのコード。

    バージョン 1.4 で追加.

例外
  • HTTPException -- ギルドの作成に失敗した場合。

  • ValueError -- Guildのアイコンの画像形式が無効だった時。画像は、PNGまたはJPGである必要があります。

戻り値

作成されたギルド。キャッシュに追加されるギルドとは別物です。

戻り値の型

Guild

await fetch_stage_instance(channel_id, /)

This function is a coroutine.

ステージチャンネルのIDの StageInstance を取得します。

バージョン 2.0 で追加.

パラメータ

channel_id (int) -- ステージチャンネルのID

例外
  • NotFound -- ステージインスタンスまたはチャンネルが見つからなかった場合

  • HTTPException -- ステージインスタンスの取得に失敗した場合

戻り値

ステージチャンネルIDで取得したステージインスタンス

戻り値の型

StageInstance

await fetch_invite(url, *, with_counts=True, with_expiration=True, scheduled_event_id=None)

This function is a coroutine.

Invite をdiscord.gg URLやIDから取得します。

注釈

もしBotがInviteのGuildに参加していない場合、 Invite のguildとchannel属性はそれぞれ PartialInviteGuildPartialInviteChannel になります。

パラメータ
  • url (Union[Invite, str]) -- Discordの招待ID、またはURL (discord.gg URLである必要があります)。

  • with_counts (bool) -- 招待にカウントの情報を含めるかどうか。これにより Invite.approximate_member_countInvite.approximate_presence_count が追加されます。

  • with_expiration (bool) --

    招待の有効期限を含めるかどうか。有効期限は Invite.expires_at に代入されます。

    バージョン 2.0 で追加.

  • scheduled_event_id (Optional[int]) --

    招待に紐づいたスケジュールイベントのID。

    注釈

    このパラメーターを使用している場合は、 event_url パラメーターを含むURLを渡すことはできません。

    バージョン 2.0 で追加.

例外
  • ValueError -- URLに event_id が含まれているのに、 scheduled_event_id も渡された場合。

  • NotFound -- 招待の有効期限が切れたか無効の場合。

  • HTTPException -- 招待の取得に失敗した場合。

戻り値

URL/IDから取得した招待。

戻り値の型

Invite

await delete_invite(invite, /)

This function is a coroutine.

Invite や、招待のURL、IDを削除します。

これを行うには、関連付けられたGuildにて、 manage_channels が必要です。

バージョン 2.0 で変更: invite 引数は位置限定引数になりました。

パラメータ

invite (Union[Invite, str]) -- 取り消す招待。

例外
  • Forbidden -- 削除する権限がない場合。

  • NotFound -- 招待が無効または期限切れの場合。

  • HTTPException -- 招待の取り消しに失敗した場合。

await fetch_widget(guild_id, /)

This function is a coroutine.

ギルドIDから Widget を取得します。

注釈

この情報を取得するためには、ギルドのウィジェットを有効化しておく必要があります。

バージョン 2.0 で変更: 引数 guild_id は位置専用引数となりました。

パラメータ

guild_id (int) -- ギルドのID。

例外
  • Forbidden -- Guildのウィジェットが無効になっている場合。

  • HTTPException -- ウィジェットの取得に失敗した場合。

戻り値

ギルドのウィジェット。

戻り値の型

Widget

await application_info()

This function is a coroutine.

Botのアプリケーション情報を取得します。

例外

HTTPException -- 情報の取得に失敗した場合。

戻り値

Botのアプリケーション情報。

戻り値の型

AppInfo

await fetch_user(user_id, /)

This function is a coroutine.

IDをもとに User を取得します。そのユーザーとギルドを共有する必要はありませんが、操作の多くはそれを必要とします。

注釈

このメソッドはAPIを呼び出します。 discord.Intents.members とメンバーキャッシュを有効化している場合は、 get_user() の使用を検討してください。

バージョン 2.0 で変更: user_id 引数は位置限定引数になりました。

パラメータ

user_id (int) -- 取得したいユーザーのID。

例外
  • NotFound -- この ID を持つユーザーが存在しない場合。

  • HTTPException -- ユーザーの取得に失敗した場合。

戻り値

あなたがリクエストしたユーザー。

戻り値の型

User

await fetch_channel(channel_id, /)

This function is a coroutine.

指定されたIDを持つ abc.GuildChannelabc.PrivateChannel 、または Thread を取得します。

注釈

このメソッドはAPIを呼び出します。通常は get_channel() を代わりとして使用してください。

バージョン 1.2 で追加.

バージョン 2.0 で変更: channel_id 引数は位置限定引数になりました。

例外
  • InvalidData -- まだ定義されていないチャンネルタイプがDiscord Apiから受信された場合。

  • HTTPException -- チャンネルの取得に失敗した場合。

  • NotFound -- 引数が無効なチャンネル IDである場合。

  • Forbidden -- このチャンネルからメッセージを取得する権限がない場合。

戻り値

IDから取得したチャンネル。

戻り値の型

Union[abc.GuildChannel, abc.PrivateChannel, Thread]

await fetch_webhook(webhook_id, /)

This function is a coroutine.

特定のIDの Webhook を取得します。

バージョン 2.0 で変更: webhook_id 引数は位置限定引数になりました。

例外
  • HTTPException -- Webhookの取得に失敗した場合。

  • NotFound -- 無効なWebhookのIDだった場合。

  • Forbidden -- Webhookを取得する権限がない場合。

戻り値

要求したWebhook。

戻り値の型

Webhook

await fetch_sticker(sticker_id, /)

This function is a coroutine.

特定のIDの Sticker を取得します。

バージョン 2.0 で追加.

例外
  • HTTPException -- スタンプの取得に失敗した場合。

  • NotFound -- スタンプIDが無効な場合。

戻り値

要求されたスタンプ。

戻り値の型

Union[StandardSticker, GuildSticker]

await fetch_skus()

This function is a coroutine.

Retrieves the bot's available SKUs.

バージョン 2.4 で追加.

例外
戻り値

The bot's available SKUs.

戻り値の型

List[SKU]

await fetch_entitlement(entitlement_id, /)

This function is a coroutine.

Retrieves a Entitlement with the specified ID.

バージョン 2.4 で追加.

パラメータ

entitlement_id (int) -- The entitlement's ID to fetch from.

例外
戻り値

The entitlement you requested.

戻り値の型

Entitlement

async for ... in entitlements(*, limit=100, before=None, after=None, skus=None, user=None, guild=None, exclude_ended=False)

Retrieves an asynchronous iterator of the Entitlement that applications has.

バージョン 2.4 で追加.

サンプル

使い方

async for entitlement in client.entitlements(limit=100):
    print(entitlement.user_id, entitlement.ends_at)

リストへフラット化

entitlements = [entitlement async for entitlement in client.entitlements(limit=100)]
# entitlements is now a list of Entitlement...

すべてのパラメータがオプションです。

パラメータ
  • limit (Optional[int]) -- The number of entitlements to retrieve. If None, it retrieves every entitlement for this application. Note, however, that this would make it a slow operation. Defaults to 100.

  • before (Optional[Union[Snowflake, datetime.datetime]]) -- Retrieve entitlements before this date or entitlement. If a datetime is provided, it is recommended to use a UTC aware datetime. If the datetime is naive, it is assumed to be local time.

  • after (Optional[Union[Snowflake, datetime.datetime]]) -- Retrieve entitlements after this date or entitlement. If a datetime is provided, it is recommended to use a UTC aware datetime. If the datetime is naive, it is assumed to be local time.

  • skus (Optional[Sequence[Snowflake]]) -- A list of SKUs to filter by.

  • user (Optional[Snowflake]) -- The user to filter by.

  • guild (Optional[Snowflake]) -- The guild to filter by.

  • exclude_ended (bool) -- Whether to exclude ended entitlements. Defaults to False.

例外
  • MissingApplicationID -- The application ID could not be found.

  • HTTPException -- Fetching the entitlements failed.

  • TypeError -- afterbefore の両方が渡された場合。Discordはこのタイプのページネーションをサポートしていません。

列挙

Entitlement -- The entitlement with the application.

await create_entitlement(sku, owner, owner_type)

This function is a coroutine.

Creates a test Entitlement for the application.

バージョン 2.4 で追加.

パラメータ
例外
await fetch_premium_sticker_packs()

This function is a coroutine.

利用可能なプレミアムスタンプパックをすべて取得します。

バージョン 2.0 で追加.

例外

HTTPException -- スタンプパックの取得に失敗した場合。

戻り値

利用可能なプレミアムスタンプパックすべて。

戻り値の型

List[StickerPack]

await create_dm(user)

This function is a coroutine.

このユーザーと DMChannel を作成します。

これは、ほとんどの人にとっては自動で行われるため、呼び出す必要はめったにありません。

バージョン 2.0 で追加.

パラメータ

user (Snowflake) -- DMを作成するユーザー。

戻り値

作成されたチャンネル。

戻り値の型

DMChannel

add_dynamic_items(*items)

Registers DynamicItem classes for persistent listening.

This method accepts class types rather than instances.

バージョン 2.4 で追加.

パラメータ

*items (Type[DynamicItem]) -- The classes of dynamic items to add.

例外

TypeError -- A class is not a subclass of DynamicItem.

remove_dynamic_items(*items)

Removes DynamicItem classes from persistent listening.

This method accepts class types rather than instances.

バージョン 2.4 で追加.

パラメータ

*items (Type[DynamicItem]) -- The classes of dynamic items to remove.

例外

TypeError -- A class is not a subclass of DynamicItem.

add_view(view, *, message_id=None)

View を永続的にインタラクションを受け取るために登録します。

このメソッドは、ビューがプログラムのライフサイクルを超えて存在するコンポーネントで構成されている場合に利用すべきです。

バージョン 2.0 で追加.

パラメータ
  • view (discord.ui.View) -- ディスパッチするために登録するビュー。

  • message_id (Optional[int]) -- ビューが添付されたメッセージID。これは現在、ビューの状態をメッセージ更新のイベント後に更新するのに使用されています。与えられていない場合はメッセージ更新のイベントはビューに伝播されません。

例外
  • TypeError -- ビューが渡されない場合。

  • ValueError -- ビューが永続しないか、すでに終了している場合。永続するビューにはタイムアウトがなく、すべてのコンポーネントに明示的に渡された custom_id があります。

property persistent_views

クライアントに追加された永続的なビューのシーケンスです。

バージョン 2.0 で追加.

Sequence[View]

AutoShardedClient

class discord.AutoShardedClient(*args, intents, **kwargs)

このクライアントは Client に似ていますが、複雑なシャーディングの処理をユーザーに変わって処理し、管理しやすく、かつ透過的なシングルプロセスのボットとして動かせるようにするという点が異なります。

このクライアントは、実装に関して内部的に複数のシャードに分割されていても、単一のシャードの通常の Client のように使用することができます。これにより、IPCやその他の複雑なインフラストラクチャへの対処を行う必要がなくなります。

少なくとも1000を超えるギルドに参加していいる場合にのみ、このクライアントを使用することを推奨します。

shard_count が指定されていない場合、ライブラリはBot Gatewayのエンドポイント呼び出しを使用して使用するシャードの数を見つけ出します。

shard_ids パラメータが指定されている場合、それらのシャードIDが内部シャードの起動時に使用されます。これを使用する場合 shard_count の指定が必須です。このパラメータを省略した場合は、クライアントは0から shard_count - 1 までのシャードを起動します。

async with x

非同期的にクライアントを初期化し自動でクリーンアップします。

バージョン 2.0 で追加.

shard_ids

シャードの起動時に利用するshard_idsのオプショナルなリスト。

Optional[List[int]]

shard_connect_timeout

The maximum number of seconds to wait before timing out when launching a shard. Defaults to 180 seconds.

バージョン 2.4 で追加.

Optional[float]

property latency

HEARTBEATとHEARTBEAT_ACK間の待ち時間を秒単位で測定します。

これは Client.latency() と同様に機能しますが、すべてのシャードの平均待ち時間を使用する点が異なります。シャードの待ち時間のリストを取得するには latencies プロパティを参照してください。準備ができていない場合は nan を返します。

float

property latencies

HEARTBEATとHEARTBEAT_ACK間の待ち時間を秒単位で測定したもののリストです。

これは、 (shard_id, latency) の要素を持つタプルのリストを返します。

List[Tuple[int, float]]

get_shard(shard_id, /)

渡されたシャードIDのシャード情報を取得します。見つからない場合は None が返ります。

バージョン 2.0 で変更: 引数 shard_id は位置専用引数となりました。

戻り値

渡されたシャードIDのシャード情報。見つからない場合は None が返ります。

戻り値の型

Optional[ShardInfo]

property shards

シャードIDとその情報オブジェクトのマッピングを返します。

Mapping[int, ShardInfo]

await connect(*, reconnect=True)

This function is a coroutine.

WebSocket接続を作成し、Discordからのメッセージを受け取れるようにします。これはイベントシステム全体とライブラリの様々な機能を実行するループです。WebSocket接続が終了するまで、制御は再開されません。

パラメータ

reconnect (bool) -- インターネットの障害やDiscord側の特定の障害が発生した際に再接続を試みるかどうか。不正な状態による特定の切断 (無効なシャーディングペイロードや不正なトークンなど) は処理されません。

例外
  • GatewayNotFound -- Discordに接続するためのゲートウェイが見つからない場合。通常、この例外はDiscord APIの停止によって引き起こされます。

  • ConnectionClosed -- WebSocket接続が終了した場合。

await close()

This function is a coroutine.

Discordとの接続を閉じます。

await change_presence(*, activity=None, status=None, shard_id=None)

This function is a coroutine.

クライアントのプレゼンスを変更します。

例:

game = discord.Game("with the API")
await client.change_presence(status=discord.Status.idle, activity=game)

バージョン 2.0 で変更: キーワード専用引数 afk を削除しました。

バージョン 2.0 で変更: この関数は InvalidArgument の代わりに TypeError を送出します。

パラメータ
  • activity (Optional[BaseActivity]) -- 実行中のアクティビティ。何も実行していない場合は None です。

  • status (Optional[Status]) -- 変更するステータスを示します。 None の場合、 Status.online となります。

  • shard_id (Optional[int]) -- プレゼンスを変更したいシャードのshard_id。指定されていない、または None が渡された場合はBotがアクセスできるすべてのシャードのプレゼンスが変更されます。

例外

TypeError -- activity パラメータが適切な型でない場合。

is_ws_ratelimited()

bool: WebSocketにレート制限が課されているかどうかを指します。

これはメンバーを取得する際、HTTPを利用するか、ゲートウェイを介して行うかを決定するときに知っておくと役立ちます。

この実装は、シャードのいずれかがレート制限下にあるかどうかを確認します。より細かな制御が行いたい場合は ShardInfo.is_ws_ratelimited() の使用を検討してください。

バージョン 1.6 で追加.

アプリケーション情報

AppInfo

class discord.AppInfo

Discordが提供するBotのアプリケーション情報。

id

アプリケーションID。

int

name

アプリケーションの名前。

str

owner

アプリケーションの所有者。

User

team

アプリケーションのチーム。

バージョン 1.3 で追加.

Optional[Team]

description

アプリケーションの説明。

str

bot_public

ボットの招待がアプリケーション所有者に限定されているか、誰でも招待が可能であるかどうか。

bool

bot_require_code_grant

ボットの参加に完全なOAuth2コードの認可フローが必要であるかどうか。

bool

rpc_origins

RPCが有効の場合、RPCオリジンURLのリスト。

Optional[List[str]]

verify_key

インタラクションとGameSDKの GetTicket の検証のための16進数エンコードされたキー。

バージョン 1.3 で追加.

str

guild_id

このアプリケーションがDiscord上で販売されているゲームの場合、この属性は紐づけられたギルドになります。

バージョン 1.3 で追加.

Optional[int]

primary_sku_id

このアプリケーションがDiscord上で販売されているゲームの場合、この属性は作成された「Game SKU」が存在する場合は、そのIDになります。

バージョン 1.3 で追加.

Optional[int]

slug

このアプリケーションがDiscord上で販売されているゲームの場合、この属性はストアページにリンクするURLのスラッグになります。

バージョン 1.3 で追加.

Optional[str]

terms_of_service_url

設定されている場合、アプリケーションの利用規約のURL。

バージョン 2.0 で追加.

Optional[str]

privacy_policy_url

設定されている場合、アプリケーションのプライバシーポリシーのURL。

バージョン 2.0 で追加.

Optional[str]

tags

アプリケーションの機能を説明するタグのリスト。

バージョン 2.0 で追加.

List[str]

custom_install_url

有効な場合、アプリケーションのカスタム認可URL。

バージョン 2.0 で追加.

List[str]

install_params

有効な場合、アプリケーションのカスタム認可URLの設定。

バージョン 2.0 で追加.

Optional[AppInstallParams]

role_connections_verification_url

アプリケーションをギルドのロール紐づけ設定にて紐づけ方法として扱うようにするための、アプリケーションの接続確認URL。

バージョン 2.2 で追加.

Optional[str]

interactions_endpoint_url

設定されている場合、ゲートウェイではなくエンドポイントからインタラクションを受け取るアプリケーションの、インタラクションエンドポイントのURI。

バージョン 2.4 で追加.

Optional[str]

redirect_uris

認証リダイレクトURIのリスト。

バージョン 2.4 で追加.

List[str]

approximate_guild_count

ボットが追加されたギルドのおおよその数。

バージョン 2.4 で追加.

int

property icon

存在する場合は、アプリケーションのアイコンアセットを取得します。

Optional[Asset]

property cover_image

存在する場合は、ストアの埋め込みのカバー画像を取得します。

これはアプリケーションがDiscordで販売されているゲームの場合にのみ利用できます。

Optional[Asset]

property guild

このアプリケーションがDiscord上で販売されているゲームの場合、この属性は紐づけられたギルドになります。

バージョン 1.3 で追加.

Optional[Guild]

property flags

アプリケーションのフラグ。

バージョン 2.0 で追加.

ApplicationFlags

await edit(*, reason=..., custom_install_url=..., description=..., role_connections_verification_url=..., install_params_scopes=..., install_params_permissions=..., flags=..., icon=..., cover_image=..., interactions_endpoint_url=..., tags=...)

This function is a coroutine.

Edits the application info.

バージョン 2.4 で追加.

パラメータ
  • custom_install_url (Optional[str]) -- The new custom authorization URL for the application. Can be None to remove the URL.

  • description (Optional[str]) -- The new application description. Can be None to remove the description.

  • role_connections_verification_url (Optional[str]) -- The new application’s connection verification URL which will render the application as a verification method in the guild’s role verification configuration. Can be None to remove the URL.

  • install_params_scopes (Optional[List[str]]) -- The new list of OAuth2 scopes of the install_params. Can be None to remove the scopes.

  • install_params_permissions (Optional[Permissions]) -- The new permissions of the install_params. Can be None to remove the permissions.

  • flags (Optional[ApplicationFlags]) --

    The new application’s flags. Only limited intent flags (gateway_presence_limited, gateway_guild_members_limited, gateway_message_content_limited) can be edited. Can be None to remove the flags.

    警告

    Editing the limited intent flags leads to the termination of the bot.

  • icon (Optional[bytes]) -- The new application’s icon as a bytes-like object. Can be None to remove the icon.

  • cover_image (Optional[bytes]) -- The new application’s cover image as a bytes-like object on a store embed. The cover image is only available if the application is a game sold on Discord. Can be None to remove the image.

  • interactions_endpoint_url (Optional[str]) -- The new interactions endpoint url of the application to receive interactions over this endpoint rather than over the gateway. Can be None to remove the URL.

  • tags (Optional[List[str]]) -- The new list of tags describing the functionality of the application. Can be None to remove the tags.

  • reason (Optional[str]) -- The reason for editing the application. Shows up on the audit log.

例外
  • HTTPException -- Editing the application failed

  • ValueError -- The image format passed in to icon or cover_image is invalid. This is also raised when install_params_scopes and install_params_permissions are incompatible with each other.

戻り値

The newly updated application info.

戻り値の型

AppInfo

PartialAppInfo

class discord.PartialAppInfo

create_invite() により与えられた部分的なAppInfo。

バージョン 2.0 で追加.

id

アプリケーションID。

int

name

アプリケーションの名前。

str

description

アプリケーションの説明。

str

rpc_origins

RPCが有効の場合、RPCオリジンURLのリスト。

Optional[List[str]]

verify_key

インタラクションとGameSDKの GetTicket の検証のための16進数エンコードされたキー。

str

terms_of_service_url

設定されている場合、アプリケーションの利用規約のURL。

Optional[str]

privacy_policy_url

設定されている場合、アプリケーションのプライバシーポリシーのURL。

Optional[str]

approximate_guild_count

ボットが追加されたギルドのおおよその数。

バージョン 2.3 で追加.

int

redirect_uris

認証リダイレクトURIのリスト。

バージョン 2.3 で追加.

List[str]

interactions_endpoint_url

設定されている場合、ゲートウェイではなくエンドポイントからインタラクションを受け取るアプリケーションの、インタラクションエンドポイントのURI。

バージョン 2.3 で追加.

Optional[str]

role_connections_verification_url

アプリケーションをギルドのロール紐づけ設定にて紐づけ方法として扱うようにするための、アプリケーションの接続確認URL。

バージョン 2.3 で追加.

Optional[str]

property icon

存在する場合は、アプリケーションのアイコンアセットを取得します。

Optional[Asset]

property cover_image

存在する場合は、アプリケーションの既定のリッチプレゼンスのカバー画像を取得します。

これはアプリケーションがDiscordで販売されているゲームの場合にのみ利用できます。

バージョン 2.3 で追加.

Optional[Asset]

property flags

アプリケーションのフラグ。

バージョン 2.0 で追加.

ApplicationFlags

AppInstallParams

Attributes
class discord.AppInstallParams

アプリケーションのカスタム認可URLの設定。

バージョン 2.0 で追加.

scopes

アプリケーションをギルドに追加するときの OAuth2 スコープ のリスト。

List[str]

permissions

ギルドに追加するアプリケーションに与える権限。

Permissions

Team

class discord.Team

Discordによって提供されるボットのアプリケーションチーム。

id

チームのID。

int

name

チームの名前。

str

owner_id

チームの所有者のID。

int

members

チームのメンバーのリスト。

バージョン 1.3 で追加.

List[TeamMember]

property icon

存在する場合は、チームアイコンのアセットを取得します。

Optional[Asset]

property owner

チームの所有者。

Optional[TeamMember]

TeamMember

class discord.TeamMember

チームのメンバー。

x == y

二つのチームメンバーが等しいかを比較します。

x != y

二つのチームメンバーが等しくないかを比較します。

hash(x)

チームメンバーのハッシュ値を返します。

str(x)

チームメンバーのハンドル(例えば namename#discriminator など)を返します。

バージョン 1.3 で追加.

name

チームメンバーのユーザー名。

str

id

チームメンバーの一意のID。

int

discriminator

チームメンバーのタグ。これは、現在は使用されていない、過去の遺物です。

str

global_name

チームメンバーのグローバルの表示名。ユーザー名より優先して表示されます。

バージョン 2.3 で追加.

Optional[str]

bot

ユーザーがBotアカウントであるかを表します。

bool

team

メンバーの出身チーム。

Team

membership_state

メンバーの参加状態 (例:招待されたか、承認されたか)

TeamMembershipState

role

The role of the member within the team.

バージョン 2.4 で追加.

TeamMemberRole

property accent_color

該当する場合、ユーザーのアクセントカラーを返します。

ユーザーのアクセントカラーはバナーがない場合にのみ表示されます。 これは、ユーザーが明示的に色を設定した場合にのみ利用可能です。

accent_colour という名前のエイリアスが存在します。

バージョン 2.0 で追加.

注釈

この情報は Client.fetch_user() 経由でのみ入手できます。

Optional[Colour]

property accent_colour

該当する場合、ユーザーのアクセントカラーを返します。

ユーザーのアクセントカラーはバナーがない場合にのみ表示されます。 これは、ユーザーが明示的に色を設定した場合にのみ利用可能です。

accent_color という名前のエイリアスが存在します。

バージョン 2.0 で追加.

注釈

この情報は Client.fetch_user() 経由でのみ入手できます。

Optional[Colour]

property avatar

ユーザーのアバターの Asset を返します。

ユーザーがグローバルのアバターをアップロードしていない場合は、 None が返されます。ユーザーが表示しているアバターを取得したい場合は、 display_avatar を検討してください。

Optional[Asset]

property avatar_decoration

Returns an Asset for the avatar decoration the user has.

If the user has not set an avatar decoration, None is returned.

バージョン 2.4 で追加.

Optional[Asset]

property avatar_decoration_sku_id

Returns the SKU ID of the avatar decoration the user has.

If the user has not set an avatar decoration, None is returned.

バージョン 2.4 で追加.

Optional[int]

property banner

利用できる場合、ユーザーのバナーのアセットを返します。

バージョン 2.0 で追加.

注釈

この情報は Client.fetch_user() 経由でのみ入手できます。

Optional[Asset]

property color

レンダリングされる色を返すプロパティ。これは常に Colour.default() を返します。

colour という名前のエイリアスが存在します。

Colour

property colour

レンダリングされる色を返すプロパティ。これは常に Colour.default() を返します。

color という名前のエイリアスが存在します。

Colour

property created_at

ユーザーの作成された時間をUTCで返します。

これはユーザーのDiscordアカウントが作成された時間です。

datetime.datetime

property default_avatar

ユーザーの既定のアバターを返します。

Asset

property display_avatar

ユーザーの表示されるアバターを返します。

通常のユーザーの場合は、これはデフォルトのアバターか、アップロードされたアバターです。

バージョン 2.0 で追加.

Asset

property display_name

ユーザーの表示名を返します。

通常であれば、これはグローバル表示名またはユーザー名がそのまま返りますが、ギルドにてニックネームを設定している場合は、代替としてニックネームが返ります。

str

property mention

ユーザーをメンションすることのできる文字列を返します。

str

mentioned_in(message)

指定のメッセージにユーザーに対するメンションが含まれているかを確認します。

パラメータ

message (Message) -- メンションが含まれているかを確認するメッセージ。

戻り値

メッセージにユーザーに対するメンションが含まれているかを示します。

戻り値の型

bool

property public_flags

ユーザーが持っている公開のフラグ。

PublicUserFlags

イベントリファレンス

この項目では Client が受け取る様々なイベントについて説明します。

イベントを登録する方法は二通りあります。一つ目は Client.event() を使用する方法です。二つ目は Client を継承してサブクラスを作り、イベントをオーバーライドする方法です。この方法を用いた場合は以下のようになります:

import discord

class MyClient(discord.Client):
    async def on_message(self, message):
        if message.author == self.user:
            return

        if message.content.startswith('$hello'):
            await message.channel.send('Hello World!')

イベントハンドラが例外を発生させると、それを処理するために on_error() が呼び出されます。 デフォルトではトレースバックがログに記録され、例外は無視されます。

警告

すべてのイベントは coroutine である必要があります。 coroutine でない場合、予期せぬエラーが発生する可能性があります。関数をコルーチンにするには、関数定義の際に async def を使用してください。

アプリケーションコマンド

discord.on_raw_app_command_permissions_update(payload)

アプリケーションコマンドの権限が更新されたときに呼び出されます。

バージョン 2.0 で追加.

パラメータ

payload (RawAppCommandPermissionsUpdateEvent) -- 生のイベントペイロードデータ。

discord.on_app_command_completion(interaction, command)

app_commands.Command または app_commands.ContextMenu がエラーなく正常に実行したときに呼び出されます。

バージョン 2.0 で追加.

パラメータ

AutoMod

discord.on_automod_rule_create(rule)

AutoModRule が作成されたときに呼び出されます。 受け取るには manage_guild が必要です。

Intents.auto_moderation_configuration を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

rule (AutoModRule) -- 作成されたルール。

discord.on_automod_rule_update(rule)

AutoModRule が更新されたときに呼び出されます。 受け取るには manage_guild が必要です。

Intents.auto_moderation_configuration を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

rule (AutoModRule) -- 変更されたルール。

discord.on_automod_rule_delete(rule)

AutoModRule が削除されたときに呼び出されます。 受け取るには manage_guild が必要です。

Intents.auto_moderation_configuration を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

rule (AutoModRule) -- 削除されたルール。

discord.on_automod_action(execution)

AutoModAction が作成/実行されたときに呼び出されます。 受け取るには manage_guild が必要です。

Intents.auto_moderation_execution を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

execution (AutoModAction) -- 行われたルールの実行。

Channels

discord.on_guild_channel_delete(channel)
discord.on_guild_channel_create(channel)

ギルドのチャンネルが削除・作成されたとき呼び出されます。

ギルドは guild で取得できます。

Intents.guilds を有効にする必要があります。

パラメータ

channel (abc.GuildChannel) -- 作成、または削除されたギルドチャンネル。

discord.on_guild_channel_update(before, after)

ギルドチャンネルが更新されるたびに呼び出されます。例えば名前、トピック、権限の変更などです。

Intents.guilds を有効にする必要があります。

パラメータ
discord.on_guild_channel_pins_update(channel, last_pin)

ギルドチャンネルのメッセージがピン留めされたり、解除されたりしたときに呼び出されます。

Intents.guilds を有効にする必要があります。

パラメータ
  • channel (Union[abc.GuildChannel, Thread]) -- ピン留めが更新されたギルドチャンネル。

  • last_pin (Optional[datetime.datetime]) -- 最後にピン留めされたメッセージがピン留めされたUTC aware datetime。 None の場合もあります。

discord.on_private_channel_update(before, after)

プライベートグループDMが更新されたとき呼び出されます。 例: 名前やトピックの変更。

Intents.messages を有効にする必要があります。

パラメータ
  • before (GroupChannel) -- 更新されたグループチャンネルの更新前情報。

  • after (GroupChannel) -- 更新されたグループチャンネルの更新後情報。

discord.on_private_channel_pins_update(channel, last_pin)

プライベートチャンネルのメッセージがピン留めされたりはずされたりしたときに呼ばれます。

パラメータ
  • channel (abc.PrivateChannel) -- ピン留めが更新されたプライベートチャンネル。

  • last_pin (Optional[datetime.datetime]) -- 最後にピン留めされたメッセージがピン留めされたUTC aware datetime。 None の場合もあります。

discord.on_typing(channel, user, when)

誰かがメッセージを入力し始めたときに呼び出されます。

channel パラメータは abc.Messageable インスタンスにすることができます。 TextChannelGroupChannel 、または DMChannel のいずれかです。

channelTextChannel である場合、 user パラメータは Member 、それ以外の場合は User です。

チャンネルまたはユーザーが内部キャッシュで見つからない場合、このイベントは呼び出されません。代わりに on_raw_typing() を使用してください。

Intents.typing を有効にする必要があります。

パラメータ
  • channel (abc.Messageable) -- 入力が行われたチャンネル。

  • user (Union[User, Member]) -- 入力を始めたユーザー。

  • when (datetime.datetime) -- UTCのaware datetimeでの、タイピングの開始時刻。

discord.on_raw_typing(payload)

誰かがメッセージを入力し始めたときに呼び出されます。 on_typing() とは異なり、これはチャンネルやユーザーが内部キャッシュに存在するかどうかに関係なく呼び出されます。

Intents.typing を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

payload (RawTypingEvent) -- 生のイベントペイロードデータ。

Connection

discord.on_connect()

クライアントがDiscordに正常に接続できたときに呼び出されます。クライアントの準備が完了していることと同義ではありません。 on_ready() を参照してください。

on_ready() での警告も適用されます。

discord.on_disconnect()

クライアントがDiscordから切断したときと、Discordへの接続の試行が失敗した場合に呼び出されます。これはインターネットが切断された、明示的にcloseメソッドを呼び出した、またはDiscord側から何らかの方法で切断されたというような場合に呼び出される可能性があります。

この関数は対応する on_connect() なしで複数回呼び出されることがあります。

discord.on_shard_connect(shard_id)

特定のシャードIDを持つシャードがDiscordに接続したかどうかを確認するために AutoShardedClient で使用されることを除けば on_connect() とほとんど同じです。

バージョン 1.4 で追加.

パラメータ

shard_id (int) -- 接続したシャードのID。

discord.on_shard_disconnect(shard_id)

特定のシャードIDを持つシャードがDiscordから切断したかどうかを確認するために AutoShardedClient で使用されることを除けば on_disconnect() とほとんど同じです。

バージョン 1.4 で追加.

パラメータ

shard_id (int) -- 切断したシャードのID。

Debug

discord.on_error(event, *args, **kwargs)

イベントがキャッチされない例外を発生させた場合、通常はトレースバックがstderrに記録され、その例外は無視されます。何らかの理由でこの動作を変更して、自分自身で例外処理を行いたい場合は、このイベントをオーバーライドすることができます。これを行った場合、トレースバックを出力するというデフォルトの動作は行われません。

発生した例外の情報と、例外事態は sys.exc_info() への標準呼び出しで取得できます。

注釈

on_errorClient.event() でのみディスパッチされます。

Client.wait_for() や、使用している場合は listen()listener() といった Bot のリスナーでは受信されません。

バージョン 2.0 で変更: トレースバックが出力されず、ログに記録されるようになりました。

パラメータ
  • event (str) -- 例外を発生させたイベントの名前。

  • args -- 例外を発生させたイベントの位置引数。

  • kwargs -- 例外を発生させたイベントのキーワード引数。

discord.on_socket_event_type(event_type)

WebSocketからWebSocketイベントが受信されるたびに呼び出されます。

これは主にDiscordゲートウェイから受け取るイベントの数を記録するのに便利です。

バージョン 2.0 で追加.

パラメータ

event_type (str) -- Discordから受信されたイベントの種類。例: 'READY'

discord.on_socket_raw_receive(msg)

メッセージが処理され、パースされる前、WebSocketからメッセージが完全に受信されるたびに呼び出されます。このイベントは完全なメッセージを受信した場合に呼び出され、渡されたデータは一切パースされていません。

これはWebSocketストリームを取得してデバッグする時のみに役に立ちます。

使用する場合は Client にて enable_debug_events を設定しないといけません。

注釈

これは、クライアントWebSocketから受信したメッセージ専用です。音声WebSocketではこのイベントは実行されません。

パラメータ

msg (str) -- WebSocketライブラリから渡されたメッセージ。

discord.on_socket_raw_send(payload)

メッセージが送信される前にWebSocketで送信操作が行われるたびに呼び出されます。渡されるパラメータはWebSocketに送信されているメッセージです。

これはWebSocketストリームを取得してデバッグする時のみに役に立ちます。

使用する場合は Client にて enable_debug_events を設定しないといけません。

注釈

これはクライアントのWebSocketから受信したメッセージ専用です。音声WebSocketはこのイベントを発火させません。

パラメータ

payload (Union[bytes, str]) -- WebSocketライブラリから渡されるメッセージ。バイナリメッセージの場合は bytes 、通常のメッセージの場合は str です。

Entitlements

discord.on_entitlement_create(entitlement)

Called when a user subscribes to a SKU.

バージョン 2.4 で追加.

パラメータ

entitlement (Entitlement) -- The entitlement that was created.

discord.on_entitlement_update(entitlement)

Called when a user updates their subscription to a SKU. This is usually called when the user renews or cancels their subscription.

バージョン 2.4 で追加.

パラメータ

entitlement (Entitlement) -- The entitlement that was updated.

discord.on_entitlement_delete(entitlement)

Called when a users subscription to a SKU is cancelled. This is typically only called when:

  • Discord issues a refund for the subscription.

  • Discord removes an entitlement from a user.

警告

This event won't be called if the user cancels their subscription manually, instead on_entitlement_update() will be called with Entitlement.ends_at set to the end of the current billing period.

バージョン 2.4 で追加.

パラメータ

entitlement (Entitlement) -- The entitlement that was deleted.

Gateway

discord.on_ready()

クライアントがDiscordから受信したデータの準備を完了した際に呼び出されます。通常はログインが成功したあと、 Client.guilds とそれに関連するものの準備が完了したときです。

警告

このイベントは、最初に呼び出されるイベントとは限りません。同時に、このイベントは 一度だけ呼ばれるという保証もできません 。このライブラリは、再接続ロジックを実装しているためリジューム要求が失敗するたびにこのイベントが呼び出されることになります。

discord.on_resumed()

クライアントがセッションを再開したときに呼び出されます。

discord.on_shard_ready(shard_id)

特定の Shard IDが準備完了になったかを確認するために AutoShardedClient で使用される以外は on_ready() とほとんど同じです。

パラメータ

shard_id (int) -- 準備が完了したShard ID。

discord.on_shard_resumed(shard_id)

特定のシャードIDを持つシャードがセッションを再開したかどうかを確認するために AutoShardedClient で使用されることを除けば on_resumed() とほとんど同じです。

バージョン 1.4 で追加.

パラメータ

shard_id (int) -- セッションが再開したシャードのID。

Guilds

discord.on_guild_available(guild)
discord.on_guild_unavailable(guild)

ギルドが利用可能・不可能になったときに呼び出されます。ギルドは Client.guilds キャッシュに存在していないといけません。

Intents.guilds を有効にする必要があります。

パラメータ

guild -- 利用状況が変わった Guild

discord.on_guild_join(guild)

Client によって Guild が作成された。または Client がギルドに参加したときに呼び出されます。

Intents.guilds を有効にする必要があります。

パラメータ

guild (Guild) -- 参加したギルド。

discord.on_guild_remove(guild)

ClientGuild から削除されたときに呼び出されます。

これは以下の状況時に呼び出されますが、これに限ったものではありません:

  • クライアントがBANされた。

  • クライアントがキックされた。

  • クライアントがギルドから脱退した。

  • クライアント、またはギルドオーナーがギルドを削除した。

このイベントが呼び出されるためには、 Client がギルドに参加している必要があります。(つまり、 Client.guilds にギルドが存在しなければならない)

Intents.guilds を有効にする必要があります。

パラメータ

guild (Guild) -- 削除されたギルド。

discord.on_guild_update(before, after)

Guild が更新されたときに呼び出されます。例えば:

  • 名前が変更された

  • AFKチャンネルが変更された

  • AFKのタイムアウト時間が変更された

  • その他

Intents.guilds を有効にする必要があります。

パラメータ
  • before (Guild) -- 更新される前のギルド。

  • after (Guild) -- 更新された後のギルド。

discord.on_guild_emojis_update(guild, before, after)

GuildEmoji が追加、または削除されたときに呼び出されます。

Intents.emojis_and_stickers を有効にする必要があります。

パラメータ
  • guild (Guild) -- 絵文字が更新されたギルド。

  • before (Sequence[Emoji]) -- 更新前の絵文字のリスト。

  • after (Sequence[Emoji]) -- 更新後の絵文字のリスト。

discord.on_guild_stickers_update(guild, before, after)

Guild のスタンプが更新されたときに呼び出されます。

Intents.emojis_and_stickers を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ
  • guild (Guild) -- スタンプが更新されたギルド。

  • before (Sequence[GuildSticker]) -- 更新前のスタンプのリスト。

  • after (Sequence[GuildSticker]) -- 更新後のスタンプのリスト。

discord.on_audit_log_entry_create(entry)

Guild に新しい監査ログ項目が追加されたときに呼び出されます。これを受け取るには view_audit_log が必要です。

Intents.moderation を有効にする必要があります。

バージョン 2.2 で追加.

警告

ゲートウェイ経由で取得した監査ログ項目はデータをRESTではなくキャッシュから取得します。このため、一部のデータが不足している場合があります。例えば、 AuditLogEntry.target 属性は多くの場合 discord.Object になり、 AuditLogEntry.user 属性はユーザーとメンバーキャッシュに依存します。

項目のユーザーIDを取得するには、代わりに AuditLogEntry.user_id を使用できます。

パラメータ

entry (AuditLogEntry) -- 作成された監査ログの項目。

discord.on_invite_create(invite)

Invite が作成されたときに呼び出されます。 受け取るには manage_channels が必要です。

バージョン 1.3 で追加.

注釈

まれに Invite.guildInvite.channel 属性がそれぞれの本来のモデルではなく Object になることがあります。

Intents.invites を有効にする必要があります。

パラメータ

invite (Invite) -- 作成された招待。

discord.on_invite_delete(invite)

Invite が削除されたときに呼び出されます。 受け取るには manage_channels が必要です。

バージョン 1.3 で追加.

注釈

まれに Invite.guildInvite.channel 属性がそれぞれの本来のモデルではなく Object になることがあります。

これらの属性以外では、Discordゲートウェイによってこのイベントに与えられているのが保証されている属性は Invite.code のみです。

Intents.invites を有効にする必要があります。

パラメータ

invite (Invite) -- 削除された招待。

Integrations

discord.on_integration_create(integration)

連携サービスが作成されたときに呼び出されます。

Intents.integrations を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

integration (Integration) -- 作成された連携サービス。

discord.on_integration_update(integration)

連携サービスが更新されたときに呼び出されます。

Intents.integrations を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

integration (Integration) -- 更新された連携サービス。

discord.on_guild_integrations_update(guild)

ギルドの連携サービスが作成、更新、削除されるたびに呼び出されます。

Intents.integrations を有効にする必要があります。

バージョン 1.4 で追加.

パラメータ

guild (Guild) -- 連携サービスが更新されたギルド。

discord.on_webhooks_update(channel)

ギルドチャンネルのWebhookが作成、更新、削除されたときに呼び出されます。

Intents.webhooks を有効にする必要があります。

パラメータ

channel (abc.GuildChannel) -- Webhookが更新されたチャンネル。

discord.on_raw_integration_delete(payload)

連携サービスが削除されたときに呼び出されます。

Intents.integrations を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

payload (RawIntegrationDeleteEvent) -- 生のイベントペイロードデータ。

Interactions

discord.on_interaction(interaction)

インタラクションが発生したときに呼び出されます。

これは、現在はスラッシュコマンドの呼び出しやコンポーネントの使用により起こります。

警告

これは、一般的な使用を意図していない低レベル関数です。コンポーネントを使用している場合は、よりよいユーザーエクスペリエンスを提供する View のコールバックの使用を検討してください。

バージョン 2.0 で追加.

パラメータ

interaction (Interaction) -- インタラクションデータ。

Members

discord.on_member_join(member)

MemberGuild に参加したときに呼び出されます。

Intents.members を有効にする必要があります。

パラメータ

member (Member) -- 参加したメンバー。

discord.on_member_remove(member)

MemberGuild から脱退したときに呼び出されます。

ギルドまたはメンバーが内部キャッシュで見つからない場合、このイベントは呼び出されません。代わりに on_raw_member_remove() を使用してください。

Intents.members を有効にする必要があります。

パラメータ

member (Member) -- 脱退したメンバー。

discord.on_raw_member_remove(payload)

MemberGuild から脱退したときに呼び出されます。

on_member_remove() とは異なり、ギルドやメンバーが内部キャッシュに存在するかどうかに関係なく呼び出されます。

Intents.members を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

payload (RawMemberRemoveEvent) -- 生のイベントペイロードデータ。

discord.on_member_update(before, after)

Member のプロフィールが更新されたときに呼び出されます。

これらのうちひとつ以上が変更されたとき呼び出されます:

  • ニックネーム

  • roles

  • ペンディング状態

  • タイムアウト

  • ギルドアバター

  • flags

Discordの制限により、このイベントはメンバーのタイムアウト期間が満了した場合には発生しません。

Intents.members を有効にする必要があります。

パラメータ
  • before (Member) -- 更新されたメンバーの更新前情報。

  • after (Member) -- 更新されたメンバーの更新後情報。

discord.on_user_update(before, after)

User がプロフィールを編集したとき呼び出されます。

これらのうちひとつ以上が変更されたとき呼び出されます:

  • アバター

  • ユーザー名

  • タグ

Intents.members を有効にする必要があります。

パラメータ
  • before (User) -- 更新されたユーザーの更新前情報。

  • after (User) -- 更新されたユーザーの更新後情報。

discord.on_member_ban(guild, user)

Called when a user gets banned from a Guild.

Intents.moderation を有効にする必要があります。

パラメータ
  • guild (Guild) -- ユーザーがBANされたギルド。

  • user (Union[User, Member]) -- BANされたユーザー。BAN時にユーザーがギルドにいたかによって、 UserMember になります。

discord.on_member_unban(guild, user)

UserGuild のBANを解除されたとき呼び出されます。

Intents.moderation を有効にする必要があります。

パラメータ
  • guild (Guild) -- ユーザーのBANが解除されたギルド。

  • user (User) -- Banが解除されたユーザー。

discord.on_presence_update(before, after)

Member がプレゼンスを変更したとき呼び出されます。

これらのうちひとつ以上が変更されたとき呼び出されます:

  • ステータス

  • アクティビティ

これを使用するには Intents.presencesIntents.members を有効にしないといけません。

バージョン 2.0 で追加.

パラメータ
  • before (Member) -- 更新されたメンバーの更新前情報。

  • after (Member) -- 更新されたメンバーの更新後情報。

Messages

discord.on_message(message)

Message が作成され送信されたときに呼び出されます。

Intents.messages を有効にする必要があります。

警告

Botのメッセージとプライベートメッセージはこのイベントを通して送信されます。Botのプログラムによっては「再帰呼び出し」を続けることになります。Botが自分自身に返信しないようにするためにはユーザーIDを確認する方法が考えられます。 Bot にはこの問題は存在しません。

パラメータ

message (Message) -- 現在のメッセージ。

discord.on_message_edit(before, after)

Message が更新イベントを受け取ったときに呼び出されます。メッセージが内部のメッセージキャッシュに見つからない場合、このイベントは呼び出されません。これはメッセージが古すぎるか、クライアントが通信の多いギルドに参加している場合に発生します。

発生する場合は max_messages パラメータの値を増加させるか on_raw_message_edit() イベントを使用してください。

以下の非網羅的ケースがこのイベントを発生させます:

  • メッセージをピン留め、または解除した。

  • メッセージの内容を変更した。

  • メッセージが埋め込みを受け取った。

    • パフォーマンス上の理由から、埋め込みのサーバーはこれを「一貫した」方法では行いません。

  • メッセージの埋め込みが削除されたり、復元されたりした。

  • 通話呼び出しメッセージの参加者や終了時刻が変わった。

Intents.messages を有効にする必要があります。

パラメータ
  • before (Message) -- 更新前のメッセージ。

  • after (Message) -- 更新後のメッセージ。

discord.on_message_delete(message)

メッセージが削除された際に呼び出されます。メッセージが内部のメッセージキャッシュに見つからない場合、このイベントは呼び出されません。これはメッセージが古すぎるか、クライアントが通信の多いギルドに参加している場合に発生します。

発生する場合は max_messages パラメータの値を増加させるか on_raw_message_delete() イベントを使用してください。

Intents.messages を有効にする必要があります。

パラメータ

message (Message) -- 削除されたメッセージ。

discord.on_bulk_message_delete(messages)

メッセージが一括削除されたときに呼び出されます。メッセージが内部のメッセージキャッシュに見つからない場合、このイベントは呼び出されません。個々のメッセージが見つからない場合でも、このイベントは呼び出されますが、見つからなかったメッセージはメッセージのリストに含まれません。これはメッセージが古すぎるか、クライアントが通信の多いギルドに参加している場合に発生します。

発生する場合は max_messages パラメータの値を増加させるか on_raw_bulk_message_delete() イベントを使用してください。

Intents.messages を有効にする必要があります。

パラメータ

messages (List[Message]) -- 削除されたメッセージのリスト。

discord.on_raw_message_edit(payload)

メッセージが編集されたときに呼び出されます。 on_message_edit() とは異なり、これは内部のメッセージキャッシュの状態に関係なく呼び出されます。

メッセージがメッセージキャッシュに存在した場合、 RawMessageUpdateEvent.cached_message を介してそのメッセージにアクセスすることができます。キャッシュされていたメッセージは編集前のメッセージです。たとえば、メッセージの内容が編集され、 on_raw_message_edit() が発火された場合、 RawMessageUpdateEvent.cached_message は内容が編集される前の情報を持つ Message オブジェクトを返します。

Due to the inherently raw nature of this event, the data parameter coincides with the raw data given by the gateway.

データのペイロードが部分的であるため、データにアクセスするときは気をつけてください。部分的なデータの主な場合のひとつは、'content' にアクセスできない場合です。Discordの埋め込みサーバーによって、埋め込みが更新される、"埋め込み"しか変わっていない編集がそうです。

Intents.messages を有効にする必要があります。

パラメータ

payload (RawMessageUpdateEvent) -- 生のイベントペイロードデータ。

discord.on_raw_message_delete(payload)

メッセージが削除されたときに呼び出されます。 on_message_delete() とは異なり、削除されたメッセージが内部キャッシュに存在するか否かにかかわらず呼び出されます。

メッセージがメッセージキャッシュ内に見つかった場合、 RawMessageDeleteEvent.cached_message を介してアクセスすることができます。

Intents.messages を有効にする必要があります。

パラメータ

payload (RawMessageDeleteEvent) -- 生のイベントペイロードデータ。

discord.on_raw_bulk_message_delete(payload)

メッセージが一括削除されたときに呼び出されます。 on_bulk_message_delete() とは異なり、削除されたメッセージが内部キャッシュに存在するか否かにかかわらず呼び出されます。

メッセージがメッセージキャッシュ内に見つかった場合、 RawBulkMessageDeleteEvent.cached_messages を介してアクセスすることができます。

Intents.messages を有効にする必要があります。

パラメータ

payload (RawBulkMessageDeleteEvent) -- 生のイベントペイロードデータ。

Polls

discord.on_poll_vote_add(user, answer)
discord.on_poll_vote_remove(user, answer)

Called when a Poll gains or loses a vote. If the user or answer's poll parent message are not cached then this event will not be called.

This requires Intents.message_content and Intents.polls to be enabled.

注釈

If the poll allows multiple answers and the user removes or adds multiple votes, this event will be called as many times as votes that are added or removed.

バージョン 2.4 で追加.

パラメータ
  • user (Union[User, Member]) -- The user that performed the action.

  • answer (PollAnswer) -- The answer the user voted or removed their vote from.

discord.on_raw_poll_vote_add(payload)
discord.on_raw_poll_vote_remove(payload)

Called when a Poll gains or loses a vote. Unlike on_poll_vote_add() and on_poll_vote_remove() this is called regardless of the state of the internal user and message cache.

This requires Intents.message_content and Intents.polls to be enabled.

注釈

If the poll allows multiple answers and the user removes or adds multiple votes, this event will be called as many times as votes that are added or removed.

バージョン 2.4 で追加.

パラメータ

payload (RawPollVoteActionEvent) -- 生のイベントペイロードデータ。

Reactions

discord.on_reaction_add(reaction, user)

メッセージにリアクションが追加されたときに呼び出されます。 on_message_edit() と同様に内部メッセージキャッシュにメッセージが見つからない場合は、このイベントは呼び出されません。代わりに on_raw_reaction_add() の利用を検討してください。

注釈

リアクションの付いた Message を取得するには、 Reaction.message を使ってください。

Intents.reactions を有効にする必要があります。

注釈

ギルド内では Intents.members は有効にしなくてもよいですが、DiscordがDM内では更新されたユーザーの情報を提供しないため、DMではこのインテントが必要です。 このイベントが必要でメンバーインテントを有効化したくない場合は on_raw_reaction_add() の使用を検討してください。

警告

This event does not have a way of differentiating whether a reaction is a burst reaction (also known as "super reaction") or not. If you need this, consider using on_raw_reaction_add() instead.

パラメータ
  • reaction (Reaction) -- リアクションの現在の状態。

  • user (Union[Member, User]) -- リアクションを追加したユーザー。

discord.on_reaction_remove(reaction, user)

メッセージのリアクションが取り除かれたときに呼び出されます。on_message_editのように、内部のメッセージキャッシュにメッセージがないときには、このイベントは呼び出されません。

注釈

リアクションの付いたメッセージを取得するには、 Reaction.message を使ってください。

これを使用するには Intents.reactionsIntents.members の両方を有効にしないといけません。

注釈

このイベントが必要でメンバーインテントを有効化したくない場合は on_raw_reaction_remove() の使用を検討してください。

警告

This event does not have a way of differentiating whether a reaction is a burst reaction (also known as "super reaction") or not. If you need this, consider using on_raw_reaction_remove() instead.

パラメータ
  • reaction (Reaction) -- リアクションの現在の状態。

  • user (Union[Member, User]) -- リアクションが除去されたユーザー。

discord.on_reaction_clear(message, reactions)

メッセージからすべてのリアクションが削除されたときに呼び出されます。 on_message_edit() と同様に内部メッセージキャッシュにメッセージが見つからない場合は、このイベントは呼び出されません。代わりに on_raw_reaction_clear() の利用を検討してください。

Intents.reactions を有効にする必要があります。

パラメータ
  • message (Message) -- リアクションが削除されたメッセージ。

  • reactions (List[Reaction]) -- 除去されたリアクション。

discord.on_reaction_clear_emoji(reaction)

メッセージから特定の絵文字のリアクションが除去されたときに呼び出されます。 on_message_edit() と同様に内部メッセージキャッシュにメッセージが見つからない場合は、このイベントは呼び出されません。代わりに on_raw_reaction_clear_emoji() の利用を検討してください。

Intents.reactions を有効にする必要があります。

バージョン 1.3 で追加.

パラメータ

reaction (Reaction) -- 除去されたリアクション。

discord.on_raw_reaction_add(payload)

メッセージにリアクションが追加されたときに呼び出されます。 on_reaction_add() とは異なり、これは内部のメッセージキャッシュの状態に関係なく呼び出されます。

Intents.reactions を有効にする必要があります。

パラメータ

payload (RawReactionActionEvent) -- 生のイベントペイロードデータ。

discord.on_raw_reaction_remove(payload)

メッセージからリアクションが削除されたときに呼び出されます。 on_reaction_remove() とは異なり、これは内部メッセージキャッシュの状態に関係なく呼び出されます。

Intents.reactions を有効にする必要があります。

パラメータ

payload (RawReactionActionEvent) -- 生のイベントペイロードデータ。

discord.on_raw_reaction_clear(payload)

メッセージからリアクションがすべて削除されたときに呼び出されます。 on_reaction_clear() とは異なり、これは内部メッセージキャッシュの状態に関係なく呼び出されます。

Intents.reactions を有効にする必要があります。

パラメータ

payload (RawReactionClearEvent) -- 生のイベントペイロードデータ。

discord.on_raw_reaction_clear_emoji(payload)

メッセージから特定の絵文字のリアクションがすべて除去されたときに呼び出されます。 on_reaction_clear_emoji() とは異なり、これは内部メッセージキャッシュの状態に関係なく呼び出されます。

Intents.reactions を有効にする必要があります。

バージョン 1.3 で追加.

パラメータ

payload (RawReactionClearEmojiEvent) -- 生のイベントペイロードデータ。

Roles

discord.on_guild_role_create(role)
discord.on_guild_role_delete(role)

GuildRole が新しく作成されたか、削除されたときに呼び出されます。

ギルドを取得するには Role.guild を使用してください。

Intents.guilds を有効にする必要があります。

パラメータ

role (Role) -- 作成、または削除されたロール。

discord.on_guild_role_update(before, after)

Role がギルド全体で変更されたときに呼び出されます。

Intents.guilds を有効にする必要があります。

パラメータ
  • before (Role) -- 更新されたロールの更新前情報。

  • after (Role) -- 更新されたロールの更新後情報。

Scheduled Events

discord.on_scheduled_event_create(event)
discord.on_scheduled_event_delete(event)

ScheduledEvent が作成または削除されたときに呼び出されます。

Intents.guild_scheduled_events を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

event (ScheduledEvent) -- 作成、または削除されたスケジュールイベント。

discord.on_scheduled_event_update(before, after)

ScheduledEvent が変更されたときに呼び出されます。

Intents.guild_scheduled_events を有効にする必要があります。

これらの場合に限りませんが、例を挙げると、以下の場合に呼び出されます:

  • スケジュールされた開始・終了時刻が変更された。

  • チャンネルが変更された時。

  • 説明が変更された時。

  • ステータスが変更された時。

  • 画像が変更された時。

バージョン 2.0 で追加.

パラメータ
  • before (ScheduledEvent) -- 変更前のスケジュールイベント。

  • after (ScheduledEvent) -- 変更後のスケジュールイベント。

discord.on_scheduled_event_user_add(event, user)
discord.on_scheduled_event_user_remove(event, user)

ScheduledEvent からユーザーが追加または削除されたときに呼び出されます。

Intents.guild_scheduled_events を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ
  • event (ScheduledEvent) -- ユーザーが追加または削除されたスケジュールイベント。

  • user (User) -- 追加・削除されたユーザー。

Stages

discord.on_stage_instance_create(stage_instance)
discord.on_stage_instance_delete(stage_instance)

StageChannelStageInstance が作成または削除されたときに呼び出されます。

バージョン 2.0 で追加.

パラメータ

stage_instance (StageInstance) -- 作成、または削除されたステージインスタンス。

discord.on_stage_instance_update(before, after)

StageInstance が変更されたときに呼び出されます。

これらの場合に限りませんが、例を挙げると、以下の場合に呼び出されます:

  • トピックが変更された時。

  • プライバシーレベルが変更された時。

バージョン 2.0 で追加.

パラメータ
  • before (StageInstance) -- 更新前のステージインスタンス。

  • after (StageInstance) -- 更新後のステージインスタンス。

Threads

discord.on_thread_create(thread)

スレッドが作成されたときに発生します。

ギルドは Thread.guild から取得できます。

Intents.guilds を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

thread (Thread) -- 作成されたスレッド。

discord.on_thread_join(thread)

スレッドに参加したときに呼び出されます。

ギルドは Thread.guild から取得できます。

Intents.guilds を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

thread (Thread) -- 参加したスレッド。

discord.on_thread_update(before, after)

スレッドが更新されたときに呼び出されます。スレッドが内部キャッシュに見つからなかった場合、このイベントは呼び出されません。 スレッドがアーカイブされている場合、キャッシュには含まれません。

この情報が必要な場合は、代わりに on_raw_thread_update() を使用してください。

Intents.guilds を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ
  • before (Thread) -- 古いスレッドの情報。

  • after (Thread) -- 新しいスレッドの情報。

discord.on_thread_remove(thread)

スレッドが除去されたときに呼び出されます。これはスレッドの削除とは異なります。

ギルドは Thread.guild から取得できます。

Intents.guilds を有効にする必要があります。

警告

技術的な制約のためこのイベントは期待通りの早さで呼び出されない場合があります。ライブラリーがスレッドの参加をローカルで追跡するため、APIは更新されたスレッドの参加状態をスレッドの参加時にのみ同期します。

バージョン 2.0 で追加.

パラメータ

thread (Thread) -- 削除されたスレッド。

discord.on_thread_delete(thread)

スレッドが削除されたときに呼び出されます。スレッドが内部キャッシュに見つからなかった場合、このイベントは呼び出されません。 スレッドがアーカイブされている場合、キャッシュには含まれません。

この情報が必要な場合は、代わりに on_raw_thread_delete() を使用してください。

ギルドは Thread.guild から取得できます。

Intents.guilds を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

thread (Thread) -- 削除されたスレッド。

discord.on_raw_thread_update(payload)

スレッドが更新されたときに呼び出されます。 on_thread_update() とは異なり、更新されたスレッドが内部キャッシュに存在するか否かにかかわらず呼び出されます。

Intents.guilds を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

payload (RawThreadUpdateEvent) -- 生のイベントペイロードデータ。

discord.on_raw_thread_delete(payload)

スレッドが削除されたときに呼び出されます。 on_thread_delete() とは異なり、削除されたスレッドが内部キャッシュに存在するか否かにかかわらず呼び出されます。

Intents.guilds を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

payload (RawThreadDeleteEvent) -- 生のイベントペイロードデータ。

discord.on_thread_member_join(member)
discord.on_thread_member_remove(member)

ThreadMemberThread に参加したり退出したりしたときに呼び出されます。

メンバーが所属するスレッドは ThreadMember.thread から取得できます。

Intents.members を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

member (ThreadMember) -- 参加、または脱退したメンバー。

discord.on_raw_thread_member_remove(payload)

ThreadMemberThread を退出したときに呼び出されます。 on_thread_member_remove() とは異なり、メンバーが内部スレッドメンバーキャッシュに存在するかどうかに関係なく呼び出されます。

Intents.members を有効にする必要があります。

バージョン 2.0 で追加.

パラメータ

payload (RawThreadMembersUpdate) -- 生のイベントペイロードデータ。

Voice

discord.on_voice_state_update(member, before, after)

MemberVoiceState を変更したとき呼び出されます。

これらの場合に限りませんが、例を挙げると、以下の場合に呼び出されます:

  • メンバーがボイスチャンネルやステージチャンネルに参加したとき。

  • メンバーがボイスチャンネルやステージチャンネルから退出したとき。

  • メンバーが自身でマイクやスピーカーをミュートしたとき。

  • メンバーがギルドの管理者によってマイクやスピーカーをミュートされたとき。

Intents.voice_states を有効にする必要があります。

パラメータ
  • member (Member) -- ボイスの状態が変わった Member

  • before (VoiceState) -- 更新前のボイス状態。

  • after (VoiceState) -- 更新後のボイス状態。

ユーティリティ関数

discord.utils.find(predicate, iterable, /)

与えられた関数を満たす最初の要素を返すヘルパー。例:

member = discord.utils.find(lambda m: m.name == 'Mighty', channel.guild.members)

は、名前が'Mighty'である最初に見つかった Member を返します。見つからない場合は None を返します。

これは、適切な値を見つけると止まる点で、 filter() と異なります。

バージョン 2.0 で変更: 両方の引数は位置限定引数になりました。

バージョン 2.0 で変更: iterable パラメータが asynchronous iterable をサポートするようになりました。

パラメータ
discord.utils.get(iterable, /, **attrs)

attrs に渡されたすべての条件を満たす最初の要素を返すヘルパー。 find() の代替案です。

複数の条件が指定されている場合、またはではなくかつでチェックされます。つまり、どれかではなく、すべての条件を満たさないといけません。

ネストされている属性で検索するとき (例: x.y で検索) は、キーワード引数に x__y を渡してください。

与えられた属性にマッチする項目がない場合、 None を返します。

バージョン 2.0 で変更: iterable 引数は位置限定引数になりました。

バージョン 2.0 で変更: iterable パラメータが asynchronous iterable をサポートするようになりました。

サンプル

基本的な使用法:

member = discord.utils.get(message.guild.members, name='Foo')

複数の属性のマッチ:

channel = discord.utils.get(guild.voice_channels, name='Foo', bitrate=64000)

ネストされた属性のマッチ:

channel = discord.utils.get(client.get_all_channels(), guild__name='Cool', name='general')

非同期イテラブル:

msg = await discord.utils.get(channel.history(), author__name='Dave')
パラメータ
discord.utils.setup_logging(*, handler=..., formatter=..., level=..., root=True)

logging をセットアップするためのヘルパー関数。

これは見た目は logging.basicConfig() に似ていますが、異なる既定値と、ストリームが色を表示できる場合は、カラーフォーマッタを使用します。

これは Client にて log_handlerNone でない場合に、logging を設定するため使用されます。

バージョン 2.0 で追加.

パラメータ
  • handler (logging.Handler) -- ライブラリのロガーに使用するログハンドラ。指定されていない場合のデフォルトのログハンドラは logging.StreamHandler です。

  • formatter (logging.Formatter) -- 指定されたログハンドラで使用するフォーマッタ。指定されていない場合は、既定で色ベースのログフォーマッタが使用されます (使用可能な場合)。 色が使用できない場合は、単純な logging フォーマッタが使用されます。

  • level (int) -- ライブラリのロガーのデフォルトのログレベル。デフォルトは logging.INFO です。

  • root (bool) -- ライブラリロガーではなくルートロガーを設定するかどうか。 Client のデフォルトとは異なり、このデフォルトは True です。

await discord.utils.maybe_coroutine(f, *args, **kwargs)

This function is a coroutine.

コルーチンの場合は関数の結果を待ち、そうでない場合は結果を返すヘルパー関数。

これは、コルーチンかもしれない関数と一緒に使用すると役立ちます。

バージョン 2.2 で追加.

パラメータ
  • f (Callable[..., Any]) -- 呼び出す関数またはコルーチン。

  • *args -- 関数に渡す引数。

  • **kwargs -- 関数に渡すキーワード引数。

戻り値

関数またはコルーチンの結果。

戻り値の型

Any

discord.utils.snowflake_time(id, /)

与えられたスノーフレークの生成時刻を返します。

バージョン 2.0 で変更: id 引数は位置限定引数になりました。

パラメータ

id (int) -- スノーフレークID。

戻り値

スノーフレークの作成時間を表すUTC aware datetime。

戻り値の型

datetime.datetime

discord.utils.time_snowflake(dt, /, *, high=False)

指定された時刻に作成されるスノーフレークの数値を返します。

範囲の下端として使用する場合は、 time_snowflake(dt, high=False) - 1 を使用するとこの時刻を含み、 high=True を使用した場合は含まなくなります。

範囲の上限として使用する場合は、 time_snowflake(dt, high=True) + 1 を使用するとこの時刻を含み、 high=False を使用した場合は含まなくなります。

バージョン 2.0 で変更: high パラメータがキーワード専用引数になり、 dt パラメータは位置限定引数になりました。

パラメータ
  • dt (datetime.datetime) -- スノーフレークに変換するdatetimeオブジェクト。日付が「naive」である場合、これは地域時間であるとみなされます。

  • high (bool) -- 下位22ビットをセットするか。

戻り値

与えられた時刻を表すスノーフレーク。

戻り値の型

int

discord.utils.oauth_url(client_id, *, permissions=..., guild=..., redirect_uri=..., scopes=..., disable_guild_select=False, state=...)

ボットをギルドに招待するOAuth2 URLを返すヘルパー関数。

バージョン 2.0 で変更: permissionsguildredirect_uriscopesstate 引数はキーワード限定引数になりました。

パラメータ
  • client_id (Union[int, str]) -- ボットのクライアントID。

  • permissions (Permissions) -- 要求する権限。もし与えられていない場合、権限を要求しません。

  • guild (Snowflake) -- 利用できる場合は、認証画面であらかじめ選択されるギルド。

  • redirect_uri (str) -- 任意の有効なリダイレクトURI。

  • scopes (Iterable[str]) --

    省略可能な有効なスコープのリスト。既定値は ('bot', 'applications.commands')

    バージョン 1.7 で追加.

  • disable_guild_select (bool) --

    ユーザーがギルドのドロップダウンを変更できないようにするか。

    バージョン 2.0 で追加.

  • state (str) --

    認可後に返すステート。

    バージョン 2.0 で追加.

戻り値

Botをギルドに招待するためのOAuth2 URL。

戻り値の型

str

discord.utils.remove_markdown(text, *, ignore_links=True)

マークダウン文字を除去するヘルパー関数。

バージョン 1.7 で追加.

注釈

この関数はマークダウンを解釈するものでないため、元のテキストから意味のある文字を除去する場合があります。たとえば、入力に 10 * 5 が含まれる場合、 10 5 に変換されます。

パラメータ
  • text (str) -- マークダウンを除去するテキスト。

  • ignore_links (bool) -- マークダウンを除去するときにリンクを残すかどうか。たとえば、テキスト中のURLが _ のような文字を含む場合、これは残されます。デフォルトは True です。

戻り値

マークダウンの特殊文字を除去したテキスト。

戻り値の型

str

discord.utils.escape_markdown(text, *, as_needed=False, ignore_links=True)

Discordのマークダウンをエスケープするヘルパー関数。

パラメータ
  • text (str) -- マークダウンをエスケープするテキスト。

  • as_needed (bool) -- 必要に応じてマークダウンをエスケープするかどうか。必要でなければ無関係な文字をエスケープしません。 **hello**\*\*hello\*\* ではなく \*\*hello** にエスケープされます。ただし、これによって巧妙な構文の乱用が発生する可能性があります。デフォルトは False です。

  • ignore_links (bool) -- マークダウンをエスケープするときにリンクを残すかどうか。たとえば、テキスト中のURLが _ のような文字を含む場合、これは残されます。これは as_needed と併用できません。デフォルトは True です。

戻り値

マークダウンの特殊文字をスラッシュでエスケープしたテキスト。

戻り値の型

str

discord.utils.escape_mentions(text)

everyone、here、ロールとユーザーのメンションをエスケープするヘルパー関数。

注釈

チャンネルのメンションはエスケープしません。

注釈

メッセージ内でエスケープされるべきメンションを詳細に制御するには、 AllowedMentions クラスを参照してください。

パラメータ

text (str) -- メンションをエスケープするテキスト。

戻り値

メンションが削除されたテキスト。

戻り値の型

str

class discord.ResolvedInvite

discord.utils.resolve_invite() から返された解決済みの招待を表すデータクラス。

code

招待コード。

str

event

招待が参照するスケジュールイベントのID。

Optional[int]

discord.utils.resolve_invite(invite)

Invite やURL、コードから招待を解決します。

バージョン 2.0 で変更: str の代わりに ResolvedInvite を返すようになりました。

パラメータ

invite (Union[Invite, str]) -- 招待。

戻り値

招待コードとイベントIDを含むデータクラス。

戻り値の型

ResolvedInvite

discord.utils.resolve_template(code)

Template やURL、コードからテンプレートを解決します。

バージョン 1.4 で追加.

パラメータ

code (Union[Template, str]) -- コード。

戻り値

テンプレートコード。

戻り値の型

str

await discord.utils.sleep_until(when, result=None)

This function is a coroutine.

指定された時間までスリープします。

過去の時間が与えられた場合この関数は即座に返します。

バージョン 1.3 で追加.

パラメータ
  • when (datetime.datetime) -- スリープを終了するタイムスタンプ。datetimeがnaiveである場合は、ローカル時間であると推定されます。

  • result (Any) -- 渡された場合、コルーチンが完了した場合に返されます。

discord.utils.utcnow()

現在時刻を表す UTC aware datetime を返すヘルパー関数。

これは、naive datetimeを返す標準ライブラリと異なりaware datetimeを返すため、 datetime.datetime.utcnow() より推奨されています。

バージョン 2.0 で追加.

戻り値

現在のUTC aware datetime。

戻り値の型

datetime.datetime

discord.utils.format_dt(dt, /, style=None)

Discord内での表示用に datetime.datetime をフォーマットするヘルパー関数。

これにより、Discord特有のMarkdownを使用したロケールに依存しないデータの表示が可能になります。

スタイル

出力例

説明

t

22:57

短縮された時間

T

22:57:58

短縮しない時間

d

17/05/2016

短縮された日付

D

17 May 2016

短縮しない日付

f (デフォルト)

17 May 2016 22:57

短縮された日時

F

Tuesday, 17 May 2016 22:57

短縮しない日時

R

5 years ago

相対時間

なお、正確な出力はユーザーのクライアントのローケル設定によります。この例は en-GB ローケルを使用しています。

バージョン 2.0 で追加.

パラメータ
  • dt (datetime.datetime) -- フォーマットするdatetime。

  • style (str) -- datetimeをフォーマットするスタイル。

戻り値

フォーマットされた文字列。

戻り値の型

str

discord.utils.as_chunks(iterator, max_size)

イテレーターを与えられたサイズのチャンクにまとめるヘルパー関数。

バージョン 2.0 で追加.

パラメータ

警告

最後のチャンクのサイズは max_size 未満の場合があります。

戻り値

指定されたサイズのチャンクを生成する新しいイテレータ。

戻り値の型

Union[Iterator, AsyncIterator]

discord.utils.MISSING

ライブラリで見つからないものを表現するために使用されるタイプセーフなセンチネル型。 None 値と区別するために使用されます。

バージョン 2.0 で追加.

列挙型

APIは、文字列が将来変わることに備え、文字列を直書きするのを防ぐために、いくらかの文字列の列挙型を提供します。

列挙型はすべて enum.Enum の動作を模倣した内部クラスのサブクラスです。

class discord.ChannelType

特定チャンネルのチャンネルタイプ。

text

テキストチャンネル。

voice

ボイスチャンネル。

private

プライベートのテキストチャンネル。ダイレクトメッセージとも呼ばれています。

group

プライベートのグループDM。

category

カテゴリチャンネル。

news

ギルドのニュースチャンネル。

stage_voice

ギルドのステージボイスチャンネル。

バージョン 1.7 で追加.

news_thread

ニューススレッド。

バージョン 2.0 で追加.

public_thread

パブリックスレッド。

バージョン 2.0 で追加.

private_thread

プライベートスレッド。

バージョン 2.0 で追加.

forum

フォーラムチャンネル。

バージョン 2.0 で追加.

media

A media channel.

バージョン 2.4 で追加.

class discord.MessageType

Message のタイプを指定します。これは、メッセージが通常のものかシステムメッセージかを判断するのに使用できます。

x == y

二つのメッセージが等しいかを比較します。

x != y

二つのメッセージが等しくないかを比較します。

default

デフォルトのメッセージ。これは通常のメッセージと同じです。

recipient_add

ユーザーがグループプライベートメッセージまたはスレッドに追加されたときのシステムメッセージ。

recipient_remove

ユーザーがグループプライベートメッセージまたはスレッドから削除されたときのシステムメッセージ。

call

通話の状態を示すシステムメッセージ。例: 不在着信、通話の開始、その他。

channel_name_change

チャンネル名の変更を示すシステムメッセージ。

channel_icon_change

チャンネルのアイコンの変更を示すシステムメッセージ。

pins_add

ピン留めの追加を示すシステムメッセージ。

new_member

ギルドの新規メンバーの参加を示すシステムメッセージ。

premium_guild_subscription

メンバーがギルドを「ニトロブースト」したことを表すシステムメッセージ。

premium_guild_tier_1

メンバーがギルドを「ニトロブースト」し、それによってギルドがレベル1に到達したことを表すシステムメッセージ。

premium_guild_tier_2

メンバーがギルドを「ニトロブースト」し、それによってギルドがレベル2に到達したことを表すシステムメッセージ。

premium_guild_tier_3

メンバーがギルドを「ニトロブースト」し、それによってギルドがレベル3に到達したことを表すシステムメッセージ。

channel_follow_add

アナウンスチャンネルがフォローされたことを表すシステムメッセージ。

バージョン 1.3 で追加.

guild_stream

メンバーがギルドでストリーミングしていることを表すシステムメッセージ。

バージョン 1.7 で追加.

guild_discovery_disqualified

ギルドがサーバー発見の資格を持たなくなったことを示すシステムメッセージ。

バージョン 1.7 で追加.

guild_discovery_requalified

ギルドがサーバー発見の資格を再び持ったことを示すシステムメッセージ。

バージョン 1.7 で追加.

guild_discovery_grace_period_initial_warning

ギルドが1週間サーバー発見の要件を満たすことに失敗したことを示すシステムメッセージ。

バージョン 1.7 で追加.

guild_discovery_grace_period_final_warning

ギルドが連続で3週間サーバー発見の要件を満たすことに失敗したというシステムメッセージ。

バージョン 1.7 で追加.

thread_created

スレッドが作成されたことを示すシステムメッセージ。これはスレッドが古いメッセージから作成されたときにのみ送信されます。メッセージが古いものとされる時間の閾値は信頼できずDiscord次第です。

バージョン 2.0 で追加.

reply

送信者がメッセージに返信したことを示すシステムメッセージ。

バージョン 2.0 で追加.

chat_input_command

スラッシュコマンドを実行したことを示すシステムメッセージ。

バージョン 2.0 で追加.

guild_invite_reminder

人々をギルドに招待することのリマインダーとして送信されたシステムメッセージ。

バージョン 2.0 で追加.

thread_starter_message

スレッドの会話を始めたメッセージであるスレッド内のメッセージを示すシステムメッセージ。

バージョン 2.0 で追加.

context_menu_command

コンテキストメニューコマンドを実行したことを示すシステムメッセージ。

バージョン 2.0 で追加.

auto_moderation_action

自動管理ルールが発動されたときに送信されるシステムメッセージ。ルールが発動されたときにアラートを送信するように設定されている場合にのみ送信されます。

バージョン 2.0 で追加.

role_subscription_purchase

ユーザーがロールサブスクリプションを購入または更新したときに送信されるシステムメッセージ。

バージョン 2.2 で追加.

interaction_premium_upsell

ユーザーに対し、インタラクション中にアプリケーションのプレミアム版を購入する広告を表示するときに送信されるシステムメッセージ。

バージョン 2.2 で追加.

stage_start

ステージ開始時に送信されるシステムメッセージ。

バージョン 2.2 で追加.

stage_end

ステージ終了時に送信されるシステムメッセージ。

バージョン 2.2 で追加.

stage_speaker

ステージの発言者が変わるときに送信されるシステムメッセージ。

バージョン 2.2 で追加.

stage_raise_hand

ユーザーが挙手して発言許可を求めているときに送信されるシステムメッセージ。

バージョン 2.2 で追加.

stage_topic

ステージのトピックが変わるときに送信されるシステムメッセージ。

バージョン 2.2 で追加.

guild_application_premium_subscription

アプリケーションのプレミアムサブスクリプションがギルドで購入されたときに送信されるシステムメッセージ。

バージョン 2.2 で追加.

guild_incident_alert_mode_enabled

The system message sent when security actions is enabled.

バージョン 2.4 で追加.

guild_incident_alert_mode_disabled

The system message sent when security actions is disabled.

バージョン 2.4 で追加.

guild_incident_report_raid

The system message sent when a raid is reported.

バージョン 2.4 で追加.

guild_incident_report_false_alarm

The system message sent when a false alarm is reported.

バージョン 2.4 で追加.

class discord.UserFlags

Discordユーザーフラグを表します。

staff

ユーザーはDiscordの従業員です。

partner

ユーザーはDiscordパートナーです。

hypesquad

ユーザーはHypeSquad Eventsメンバーです。

bug_hunter

ユーザーはバグハンターです。

mfa_sms

ユーザーの多要素認証のSMSリカバリーが有効になっています。

premium_promo_dismissed

ユーザーはDiscord Nitroプロモーションを無視しました。

hypesquad_bravery

ユーザーはHypeSquad Braveryのメンバーです。

hypesquad_brilliance

ユーザーはHypeSquad Brillianceのメンバーです。

hypesquad_balance

ユーザーはHypeSquad Balanceのメンバーです。

early_supporter

ユーザーは早期サポーターです。

team_user

ユーザーはチームユーザーです。

system

ユーザーはシステムユーザーです。(つまり、Discord公式を表しています)

has_unread_urgent_messages

ユーザーに未読のシステムメッセージがあります。

bug_hunter_level_2

ユーザーはバグハンターレベル2です。

verified_bot

ユーザーは認証済みボットです。

verified_bot_developer

ユーザーは早期認証Botデベロッパーです。

discord_certified_moderator

ユーザーはモデレータープログラム卒業生です。

bot_http_interactions

ユーザーはHTTPインタラクションのみを使用し、オンラインメンバーのリストに表示されるボットです。

バージョン 2.0 で追加.

spammer

ユーザーはDiscordよりスパマーとフラグ付けされました。

バージョン 2.0 で追加.

active_developer

ユーザーはアクティブな開発者です。

バージョン 2.1 で追加.

class discord.ActivityType

Activity のタイプを指定します。これはアクティビティをどう解釈するか確認するために使われます。

unknown

不明なアクティビティタイプ。これは通常起こらないはずです。

playing

プレイ中のアクティビティタイプ。

streaming

放送中のアクティビティタイプ。

listening

再生中のアクティビティタイプ。

watching

視聴中のアクティビティタイプ。

custom

カスタムのアクティビティタイプ。

competing

競争中のアクティビティタイプ。

バージョン 1.5 で追加.

class discord.VerificationLevel

Guild の認証レベルを指定します。これは、メンバーがギルドにメッセージを送信できるようになるまでの条件です。

バージョン 2.0 で追加.

x == y

認証レベルが等しいか確認します。

x != y

認証レベルが等しくないか確認します。

x > y

認証レベルがあるレベルより厳しいか確認します。

x < y

認証レベルがあるレベルより緩いか確認します。

x >= y

認証レベルがあるレベルと同じ、又は厳しいか確認します。

x <= y

認証レベルがあるレベルと同じ、又は緩いか確認します。

none

無制限。

low

メンバーはDiscordアカウントのメール認証を済ませないといけません。

medium

メンバーはメール認証をし、かつアカウント登録から5分経過しないといけません。

high

メンバーはメール認証をし、Discordのアカウント登録から5分経過し、かつ10分以上ギルドに所属していないといけません。

highest

メンバーはDiscordアカウントの電話番号認証を済ませないといけません。

class discord.NotificationLevel

Guild の通知対象のデフォルト設定をすべてのメッセージ、またはメンションのみに指定します。

バージョン 2.0 で追加.

x == y

通知レベルが等しいか確認します。

x != y

通知レベルが等しくないか確認します。

x > y

通知レベルがあるレベルより高いか確認します。

x < y

通知レベルがあるレベルより低いか確認します。

x >= y

通知レベルがあるレベルと同じ、又は高いか確認します。

x <= y

通知レベルがあるレベルと同じ、又は低いか確認します。

all_messages

メンバーは、メンションされているかどうかに関わらず、すべてのメッセージの通知を受け取ります。

only_mentions

メンバーは自分がメンションされているメッセージの通知のみ受け取ります。

class discord.ContentFilter

Guild の不適切な表現のフィルターを指定します。これはDiscordがポルノ画像や不適切な表現を検出するために使用している機械学習アルゴリズムです。

バージョン 2.0 で追加.

x == y

表現のフィルターのレベルが等しいか確認します。

x != y

表現のフィルターのレベルが等しくないか確認します。

x > y

表現のフィルターのレベルが他のレベルより大きいか確認します。

x < y

表現のフィルターのレベルが他のレベルより小さいか確認します。

x >= y

表現のフィルターのレベルが他のレベルより大きい、または等しいか確認します。

x <= y

表現のフィルターのレベルが他のレベルより小さい、または等しいか確認します。

disabled

ギルドで表現のフィルターが有効ではない。

no_role

ギルドでロールを持たないメンバーに対して表現のフィルターが有効化されている。

all_members

ギルドで、すべてのメンバーに対して表現のフィルターが有効化されている。

class discord.Status

Member のステータスを指定します。

online

メンバーがオンライン。

offline

メンバーがオフライン。

idle

メンバーが退席中。

dnd

メンバーが取り込み中。

do_not_disturb

dnd のエイリアス。

invisible

メンバーがオンライン状態を隠す。実際には、これは Client.change_presence() でプレゼンスを送信する時のみ使用します。ユーザーのプレゼンスを受け取った場合、これは offline に置き換えられます。

class discord.AuditLogAction

AuditLogEntry で行われた動作の種類を取得します。AuditLogEntryは Guild.audit_logs() で取得可能です。

guild_update

ギルドの更新。このトリガーとなるものは以下のとおりです。

  • ギルドのvanity URLの変更

  • ギルドの招待時のスプラッシュ画像の変更

  • ギルドのAFKチャンネル、またはタイムアウトの変更

  • ギルドの音声通話のサーバーリージョンの変更

  • ギルドのアイコン、バナー、ディスカバリースプラッシュの変更

  • ギルドの管理設定の変更

  • ギルドのウィジェットに関連するものの変更

これが上記のactionならば、target の型は Guild になります。

AuditLogDiff から、以下の属性を参照できます:

channel_create

チャンネルの作成。

これが上記のactionならば、 target の型は、IDが設定されている abc.GuildChannel か、 Object のいずれかになります。

Object の場合、 after を使用して、より詳細な情報を持つオブジェクトを見つけることができます。

AuditLogDiff から、以下の属性を参照できます:

channel_update

チャンネルの更新。これのトリガーとなるものは以下の通りです。

  • チャンネルのチャンネルトピックの変更、または名前の変更。

  • チャンネルのビットレートの変更。

これが上記のactionならば、 target の型は、IDが設定されている abc.GuildChannel か、 Object のいずれかになります。

Object の場合、 after または before を使用して、より詳細な情報を持つオブジェクトを見つけることができます。

AuditLogDiff から、以下の属性を参照できます:

channel_delete

チャンネルの削除。

これが上記のactionならば、 target の型は、IDが設定されている Object になります。

before オブジェクトを使用すると、より詳細な情報が見つかります。

AuditLogDiff から、以下の属性を参照できます:

overwrite_create

チャンネルにおける権限の上書き設定の作成。

これが上記のactionならば、 target の型は、IDが設定されている abc.GuildChannel か、 Object のいずれかになります。

この場合には、 extraRoleMember です。もしオブジェクトが見つからない場合はid、name、 'role''member' である type 属性がある Object です。

AuditLogDiff から、以下の属性を参照できます:

overwrite_update

チャンネルの権限の上書きの変更。典型的な例は、権限が変更された場合です。

overwrite_create に、 targetextra についての説明があります。

AuditLogDiff から、以下の属性を参照できます:

overwrite_delete

チャンネルにおける権限の上書き設定の削除。

overwrite_create に、 targetextra についての説明があります。

AuditLogDiff から、以下の属性を参照できます:

kick

メンバーのキック。

これが上記のactionならば、 target の型は、キックされた User あるいは Object になります。

これが上記のactionならば、 extra は以下の属性を持つプロキシオブジェクトになります:

  • integration_type: An optional string that denotes the type of integration that did the action.

これが上記のactionなら、changes は空になります。

member_prune

非アクティブメンバーの一括キック。

これが上記のactionならば、target の型は None に設定されます。

これが上記のactionならば、 extra は以下の属性を持つプロキシオブジェクトになります:

  • delete_members_days : 一括キック対象の期間を示す整数。

  • members_removed : 除去されたメンバーの数を示す整数。

これが上記のactionなら、changes は空になります。

ban

メンバーのBAN。

これが上記のactionならば、 target の型は、BANされた User あるいは Object になります。

これが上記のactionなら、changes は空になります。

unban

メンバーのBANの解除。

これが上記のactionならば、 target の型は、BAN解除された User あるいは Object になります。

これが上記のactionなら、changes は空になります。

member_update

メンバーの何らかの更新。これのトリガーとなるのは以下の場合です:

  • メンバーのニックネームの変更。

  • サーバー側でミュートやスピーカーミュートされた(あるいは解除された)場合。

これが上記のactionならば、 target の型は、更新の行われた MemberUser 、または Object になります。

AuditLogDiff から、以下の属性を参照できます:

member_role_update

メンバーのロールの更新。これは、メンバーがロールを得たり、失った場合に発生します。

これが上記のactionならば、 target の型は、ロールの更新が行われた MemberUser 、または Object になります。

これが上記のactionならば、 extra は以下の属性を持つプロキシオブジェクトになります:

  • integration_type: An optional string that denotes the type of integration that did the action.

AuditLogDiff から、以下の属性を参照できます:

member_move

メンバーのボイスチャンネルの更新。これは、メンバーが他のボイスチャンネルに移動させられた時に発生します。

これが上記のactionならば、 extra は以下の属性を持つプロキシオブジェクトになります:

  • channel : メンバーの移動先の TextChannel か チャンネルIDを持つ Object

  • count : 移動されたメンバーの数を示す整数。

バージョン 1.3 で追加.

member_disconnect

メンバーのボイス状態の変更。これはメンバーがボイスから強制的に切断された場合に発生します。

これが上記のactionならば、 extra は以下の属性を持つプロキシオブジェクトになります:

  • count : 切断されたメンバーの数を示す整数。

バージョン 1.3 で追加.

bot_add

ボットのギルドへの追加。

これが上記のactionならば、 target の型は、ギルドに追加された MemberUser 、または Object になります。

バージョン 1.3 で追加.

role_create

新しいロールの作成。

これが上記のactionならば、 target の型は、IDが設定されている Role か、 Object のいずれかになります。

AuditLogDiff から、以下の属性を参照できます:

role_update

ロールの何らかの更新。これのトリガーとなるのは以下の場合です:

  • 名前の更新。

  • 権限の更新。

  • 色の更新。

  • ロールアイコン (または Unicode 絵文字)の変更。

  • ロールメンバーのオンライン表示、ロールへのメンションの許可の変更。

これが上記のactionならば、 target の型は、IDが設定されている Role か、 Object のいずれかになります。

AuditLogDiff から、以下の属性を参照できます:

role_delete

ロールの削除。

これが上記のactionならば、 target の型は、IDが設定されている Role か、 Object のいずれかになります。

AuditLogDiff から、以下の属性を参照できます:

invite_create

招待の作成。

これが上記のactionならば、target の型は作成された招待に該当する Invite になります。

AuditLogDiff から、以下の属性を参照できます:

invite_update

招待の更新。

これが上記のactionならば、target の型は更新された招待に該当する Invite になります。

invite_delete

招待の削除。

これが上記のactionならば、target のタイプは削除された招待に該当する Invite になります。

AuditLogDiff から、以下の属性を参照できます:

webhook_create

Webhookの作成。

これが上記のactionならば、 target のタイプは、webhook IDが設定されている Object になります。

AuditLogDiff から、以下の属性を参照できます:

webhook_update

Webhookの更新。これのトリガーとなるのは以下の場合です。

  • Webhook名が変更されたとき

  • Webhookチャンネルが変更されたとき

これが上記のactionならば、 target のタイプは、webhook IDが設定されている Object になります。

AuditLogDiff から、以下の属性を参照できます:

webhook_delete

Webhookの削除。

これが上記のactionならば、 target のタイプは、webhook IDが設定されている Object になります。

AuditLogDiff から、以下の属性を参照できます:

emoji_create

絵文字の作成。

これが上記のactionならば、 target の型は、 Emoji または 絵文字IDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

emoji_update

絵文字に対する何らかの更新。これは名前が変更されたときに発生します。

これが上記のactionならば、 target の型は、 Emoji または 絵文字IDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

emoji_delete

絵文字の削除。

これが上記のactionならば、 target の型は、絵文字IDが設定されている Object になります。

AuditLogDiff から、以下の属性を参照できます:

message_delete

管理者によるメッセージの削除。なお、これのトリガーとなるのは、メッセージが投稿者以外によって削除された場合のみです。

これが上記のactionならば、 target の型は、削除されたメッセージの送信者である MemberUser 、または Object になります。

これが上記のactionならば、 extra は以下の属性を持つプロキシオブジェクトになります:

  • count : 削除されたメッセージの数を示す整数。

  • channel : メッセージが削除された TextChannel か チャンネルIDを持つ Object

message_bulk_delete

管理者によるメッセージの一括削除。

これが上記のactionならば、 target の型は、 TextChannel またはメッセージが一括削除されたチャンネルIDが設定された Object です。

これが上記のactionならば、 extra は以下の属性を持つプロキシオブジェクトになります:

  • count : 削除されたメッセージの数を示す整数。

バージョン 1.3 で追加.

message_pin

チャンネルへのメッセージのピン留め。

これが上記のactionならば、 target の型は、ピン留めされたメッセージの送信者である MemberUser 、または Object になります。

これが上記のactionならば、 extra は以下の属性を持つプロキシオブジェクトになります:

  • channel : メッセージがピン留めされた TextChannel か チャンネルIDを持つ Object

  • message_id : ピン留めされたメッセージのID。

バージョン 1.3 で追加.

message_unpin

チャンネルからのメッセージのピン留め解除。

これが上記のactionならば、 target の型は、ピン留めが外されたメッセージの送信者である MemberUser 、または Object になります。

これが上記のactionならば、 extra は以下の属性を持つプロキシオブジェクトになります:

  • channel : メッセージのピン留めが外された TextChannel か チャンネルIDを持つ Object

  • message_id : ピン留めが外されたメッセージのID。

バージョン 1.3 で追加.

integration_create

ギルドの連携サービスの作成。

これが上記のactionならば、 target の型は、 PartialIntegration または作成されたインテグレーションのIDを持つ Object になります。

バージョン 1.3 で追加.

integration_update

ギルド連携サービスの更新。

これが上記のactionならば、 target の型は、 PartialIntegration または更新されたインテグレーションのIDを持つ Object になります。

バージョン 1.3 で追加.

integration_delete

ギルド連携サービスの削除。

これが上記のactionならば、 target の型は、 PartialIntegration または削除されたインテグレーションのIDを持つ Object になります。

バージョン 1.3 で追加.

stage_instance_create

ステージインスタンスの開始。

これが上記のactionならば、 target の型は、 StageInstance または作成されたステージインスタンスのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

stage_instance_update

ステージインスタンスの更新。

これが上記のactionならば、 target の型は、 StageInstance または更新されたステージインスタンスのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

stage_instance_delete

ステージインスタンスの終了。

バージョン 2.0 で追加.

sticker_create

スタンプの作成。

これが上記のactionならば、 target の型は、 GuildSticker または作成されたスタンプのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

sticker_update

スタンプの更新。

これが上記のactionならば、 target の型は、 GuildSticker または更新されたスタンプのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

sticker_delete

スタンプの削除。

これが上記のactionならば、 target の型は、 GuildSticker または更新されたスタンプのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

scheduled_event_create

スケジュールイベントの作成。

これが上記のactionならば、 target の型は、 ScheduledEvent または作成されたスケジュールイベントのIDが設定された Object です。

AuditLogDiff の可能な属性: - name - channel - description - privacy_level - status - entity_type - cover_image

バージョン 2.0 で追加.

scheduled_event_update

スケジュールイベントの作成。

これが上記のactionならば、 target の型は、 ScheduledEvent または更新されたスケジュールイベントのIDが設定された Object です。

AuditLogDiff の可能な属性: - name - channel - description - privacy_level - status - entity_type - cover_image

バージョン 2.0 で追加.

scheduled_event_delete

スケジュールイベントの作成。

これが上記のactionならば、 target の型は、 ScheduledEvent または削除されたスケジュールイベントのIDが設定された Object です。

AuditLogDiff の可能な属性: - name - channel - description - privacy_level - status - entity_type - cover_image

バージョン 2.0 で追加.

thread_create

スレッドの作成。

これが上記のactionならば、 target の型は、 Thread または作成されたスレッドのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

thread_update

スレッドの更新。

これが上記のactionならば、 target の型は、 Thread または更新されたスレッドのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

thread_delete

スレッドの削除。

これが上記のactionならば、 target の型は、 Thread または削除されたスレッドのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

app_command_permission_update

アプリケーションコマンドまたはインテグレーションアプリケーションコマンドの権限の更新。

これが上記のactionならば、 target の型は、 インテグレーション一般の権限の場合 PartialIntegration 、特定のコマンドの権限の場合 AppCommand 、あるいは更新されたコマンドまたはインテグレーションのIDが設定された Object です。

これが上記のactionならば、 extra の型は、 PartialIntegration またはコマンドまたはインテグレーションが属するアプリケーションのIDを持つ Object になります。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

automod_rule_create

自動管理ルールの作成。

これが上記のactionならば、 target のtypeは、 AutoModRule または作成された自動管理ルールのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

automod_rule_update

自動管理ルールの更新。

これが上記のactionならば、 target のtypeは、 AutoModRule または作成された自動管理ルールのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

automod_rule_delete

自動管理ルールの削除。

これが上記のactionならば、 target のtypeは、 AutoModRule または作成された自動管理ルールのIDが設定された Object です。

AuditLogDiff から、以下の属性を参照できます:

バージョン 2.0 で追加.

automod_block_message

自動管理ルールによる送信されたメッセージのブロック。

これが上記のactionならば、 target のtypeは、自動管理ルールを発動させた Member になります。

これが上記のactionならば、 extra は以下の3つの属性を持つプロキシオブジェクトになります:

  • automod_rule_name : 発動した自動管理ルールの名前。

  • automod_rule_trigger_type: A AutoModRuleTriggerType representation of the rule type that was triggered.

  • channel : 自動管理ルールが発動されたチャンネル。

これが上記のactionなら、 changes は空になります。

バージョン 2.0 で追加.

automod_flag_message

自動管理ルールによる送信されたメッセージのフラグ付け。

これが上記のactionならば、 target のtypeは、自動管理ルールを発動させた Member になります。

これが上記のactionならば、 extra は以下の3つの属性を持つプロキシオブジェクトになります:

  • automod_rule_name : 発動した自動管理ルールの名前。

  • automod_rule_trigger_type: A AutoModRuleTriggerType representation of the rule type that was triggered.

  • channel : 自動管理ルールが発動されたチャンネル。

これが上記のactionなら、 changes は空になります。

バージョン 2.1 で追加.

automod_timeout_member

自動管理ルールによるメンバーのタイムアウト。

これが上記のactionならば、 target のtypeは、自動管理ルールを発動させた Member になります。

これが上記のactionならば、 extra は以下の3つの属性を持つプロキシオブジェクトになります:

  • automod_rule_name : 発動した自動管理ルールの名前。

  • automod_rule_trigger_type: A AutoModRuleTriggerType representation of the rule type that was triggered.

  • channel : 自動管理ルールが発動されたチャンネル。

これが上記のactionなら、 changes は空になります。

バージョン 2.1 で追加.

creator_monetization_request_created

A request to monetize the server was created.

バージョン 2.4 で追加.

creator_monetization_terms_accepted

The terms and conditions for creator monetization were accepted.

バージョン 2.4 で追加.

class discord.AuditLogActionCategory

AuditLogAction が属するカテゴリ。

これは AuditLogEntry.category で取得できます。

create

アクションは何かの作成です。

delete

アクションは何かの削除です。

update

アクションは何かの更新です。

class discord.TeamMembershipState

Client.application_info() で取得したチームメンバーのメンバーシップ状態。

バージョン 1.3 で追加.

invited

招待されたメンバー。

accepted

現在チームにいるメンバー。

class discord.TeamMemberRole

Represents the type of role of a team member retrieved through Client.application_info().

バージョン 2.4 で追加.

admin

The team member is an admin. This allows them to invite members to the team, access credentials, edit the application, and do most things the owner can do. However they cannot do destructive actions.

developer

The team member is a developer. This allows them to access information, like the client secret or public key. They can also configure interaction endpoints or reset the bot token. Developers cannot invite anyone to the team nor can they do destructive actions.

read_only

The team member is a read-only member. This allows them to access information, but not edit anything.

class discord.WebhookType

受け取れるWebhookの種類。

バージョン 1.3 で追加.

incoming

トークンでチャンネルにメッセージを投稿できるWebhook。

channel_follower

チャンネルのフォローのためDiscord内部で管理されるWebhook。

application

インタラクションやアプリケーションに用いられるWebhook。

バージョン 2.0 で追加.

class discord.ExpireBehaviour

ユーザーのサブスクリプションが終了した後の Integration の動作。

ExpireBehavior という名のエイリアスがあります。

バージョン 1.4 で追加.

remove_role

サブスクリプションが終了したユーザーから StreamIntegration.role を除去します。

kick

サブスクリプションが終了したユーザーをキックします。

class discord.DefaultAvatar

Discord User のデフォルトのアバター。

blurple

ブループル色のデフォルトのアバター。 Colour.blurple も参照してください。

grey

灰色のデフォルトのアバター。 Colour.greyple も参照してください。

gray

grey のエイリアス。

green

緑色のデフォルトのアバター。 Colour.green も参照してください。

orange

オレンジ色のデフォルトのアバター。 Colour.orange も参照してください。

red

赤色のデフォルトのアバター。 Colour.red も参照してください。

pink

ピンク色のデフォルトのアバター。 Colour.pink も参照してください。

バージョン 2.3 で追加.

class discord.StickerType

スタンプの種類。

バージョン 2.0 で追加.

standard

Nitroユーザー全員が使用できる標準スタンプ。

guild

ギルドで作成されたカスタムスタンプ。

class discord.StickerFormatType

スタンプ画像の種類。

バージョン 1.6 で追加.

png

PNG画像のスタンプ。

apng

APNG画像のスタンプ。

lottie

ロッティー画像のスタンプ。

gif

GIF画像のスタンプ。

バージョン 2.2 で追加.

class discord.InviteTarget

ボイスチャンネル招待の招待タイプ。

バージョン 2.0 で追加.

unknown

招待の対象がないもの。

stream

ユーザーを対象とするもの。

embedded_application

埋め込まれたアプリケーションを対象とするもの。

class discord.VideoQualityMode

ボイスチャンネル参加者のカメラビデオの画質モード。

バージョン 2.0 で追加.

auto

自動のカメラビデオ画質。

full

フルのカメラビデオ画質。

class discord.PrivacyLevel

ステージインスタンスやスケジュールイベントのプライバシーレベル。

バージョン 2.0 で追加.

guild_only

ステージインスタンスやスケジュールイベントはギルド内でのみアクセスできます。

class discord.NSFWLevel

ギルドの年齢制限レベル。

バージョン 2.0 で追加.

x == y

二つの年齢制限レベルが等しいかを比較します。

x != y

二つの年齢制限レベルが等しくないかを比較します。

x > y

年齢制限レベルがあるレベルより高いか確認します。

x < y

年齢制限レベルがあるレベルより低いか確認します。

x >= y

年齢制限レベルがあるレベルと同じ、又は高いか確認します。

x <= y

年齢制限レベルがあるレベルと同じ、又は低いか確認します。

default

未分類のギルド。

explicit

年齢制限されたコンテンツを含むギルド。

safe

年齢制限されたコンテンツを一切含まないギルド。

age_restricted

年齢制限されたコンテンツを含む可能性のあるギルド。

class discord.Locale

Discordでサポートされているロケール。主にアプリケーションコマンドの多言語化に使用されます。

バージョン 2.0 で追加.

american_english

en-US ロケール。

british_english

en-GB ロケール。

bulgarian

bg ロケール。

chinese

zh-CN ロケール。

taiwan_chinese

zh-TW ロケール。

croatian

hr ロケール。

czech

cs ロケール。

indonesian

id ロケール。

バージョン 2.2 で追加.

danish

da ロケール。

dutch

nl ロケール。

finnish

fi ロケール。

french

fr ロケール。

german

de ロケール。

greek

el ロケール。

hindi

hi ロケール。

hungarian

hu ロケール。

italian

it ロケール。

japanese

ja ロケール。

korean

ko ロケール。

latin_american_spanish

The es-419 locale.

バージョン 2.4 で追加.

lithuanian

lt ロケール。

norwegian

no ロケール。

polish

pl ロケール。

brazil_portuguese

pt-BR ロケール。

romanian

ro ロケール。

russian

ru ロケール。

spain_spanish

es-ES ロケール。

swedish

sv-SE ロケール。

thai

th ロケール。

turkish

tr ロケール。

ukrainian

uk ロケール。

vietnamese

vi ロケール。

class discord.MFALevel

ギルドの多要素認証要件レベル。

バージョン 2.0 で追加.

x == y

二つのMFAレベルが等しいかを比較します。

x != y

二つのMFAレベルが等しくないかを比較します。

x > y

多要素認証レベルがあるレベルより厳しいか確認します。

x < y

多要素認証レベルがあるレベルより緩いか確認します。

x >= y

多要素認証レベルがあるレベルと同じ、又は厳しいか確認します。

x <= y

多要素認証レベルがあるレベルと同じ、又は緩いか確認します。

disabled

多要素認証要件がないギルド。

require_2fa

二要素認証を必須とするギルド。

class discord.EntityType

スケジュールイベントの開催場所の種類。

バージョン 2.0 で追加.

stage_instance

ステージインスタンスで起こるスケジュールイベント。

voice

ボイスチャンネルで起こるスケジュールイベント。

external

外部で起こるスケジュールイベント。

class discord.EventStatus

イベントの状態。

バージョン 2.0 で追加.

scheduled

予定されたイベント。

active

開催中のイベント。

completed

終了したイベント。

cancelled

キャンセルされたイベント。

canceled

cancelled のエイリアス。

ended

completed のエイリアス。

class discord.AutoModRuleTriggerType

自動管理ルールの発動条件の種類を表します。

バージョン 2.0 で追加.

keyword

キーワードに言及したときに発動されるルール。

有害なリンクを投稿したときに発動されるルール。

spam

スパムメッセージを投稿したときに発動されるルール。

keyword_preset

事前に定められたキーワードプリセットに基づき発動したときに発動されるルール。

mention_spam

ロールとユーザーのメンションの合計数が設定された制限よりも多い場合に発動されるルール。

member_profile

The rule will trigger when a user's profile contains a keyword.

バージョン 2.4 で追加.

class discord.AutoModRuleEventType

自動管理ルールのイベントの種類を表します。

バージョン 2.0 で追加.

message_send

メッセージを投稿したときにルールが発動します。

member_update

The rule will trigger when a member's profile is updated.

バージョン 2.4 で追加.

class discord.AutoModRuleActionType

自動管理ルールの対応の種類を表します。

バージョン 2.0 で追加.

block_message

メッセージを送信できないようにします。

send_alert_message

事前に指定したチャンネルに警告メッセージを送信します。

timeout

ユーザーをタイムアウトします。

block_member_interactions

Similar to timeout, except the user will be timed out indefinitely. This will request the user to edit it's profile.

バージョン 2.4 で追加.

class discord.ForumLayoutType

フォーラムの投稿がクライアントでどのように配列されるかを表します。

バージョン 2.2 で追加.

not_set

デフォルトが設定されていないので、配列方法はクライアントによります。

list_view

投稿を一覧として表示します。

gallery_view

投稿をタイルの集まりとして表示します。

class discord.ForumOrderType

フォーラムの投稿がクライアントでどのように並び替えられるかを表します。

バージョン 2.3 で追加.

latest_activity

最終更新日時順でフォーラム投稿を並び替えます。

creation_date

作成日時順 (新しいものから古いものの順) でフォーラム投稿を並び替えます。

class discord.SelectDefaultValueType

Represents the default value of a select menu.

バージョン 2.4 で追加.

user

The underlying type of the ID is a user.

role

The underlying type of the ID is a role.

channel

The underlying type of the ID is a channel or thread.

class discord.SKUType

Represents the type of a SKU.

バージョン 2.4 で追加.

durable

The SKU is a durable one-time purchase.

consumable

The SKU is a consumable one-time purchase.

subscription

The SKU is a recurring subscription.

subscription_group

The SKU is a system-generated group which is created for each SKUType.subscription.

class discord.EntitlementType

Represents the type of an entitlement.

バージョン 2.4 で追加.

purchase

The entitlement was purchased by the user.

premium_subscription

The entitlement is for a nitro subscription.

developer_gift

The entitlement was gifted by the developer.

test_mode_purchase

The entitlement was purchased by a developer in application test mode.

free_purchase

The entitlement was granted, when the SKU was free.

user_gift

The entitlement was gifted by a another user.

premium_purchase

The entitlement was claimed for free by a nitro subscriber.

application_subscription

The entitlement was purchased as an app subscription.

class discord.EntitlementOwnerType

Represents the type of an entitlement owner.

バージョン 2.4 で追加.

guild

The entitlement owner is a guild.

user

The entitlement owner is a user.

class discord.PollLayoutType

Represents how a poll answers are shown.

バージョン 2.4 で追加.

default

The default layout.

class discord.InviteType

Represents the type of an invite.

バージョン 2.4 で追加.

guild

The invite is a guild invite.

group_dm

The invite is a group DM invite.

friend

The invite is a friend invite.

class discord.ReactionType

Represents the type of a reaction.

バージョン 2.4 で追加.

normal

A normal reaction.

burst

A burst reaction, also known as a "super reaction".

監査ログデータ

Guild.audit_logs() の使用は複雑なプロセスです。このライブラリーはこれを使いやすくフレンドリーにしようと試みています。この目標の達成のためにいくつかのデータクラスを使用しています。

AuditLogEntry

class discord.AuditLogEntry(*, users, integrations, app_commands, automod_rules, webhooks, data, guild)

監査ログの項目。

これらは Guild.audit_logs() から取得できます。

x == y

二つの項目が等しいかを比較します。

x != y

二つの項目が等しくないかを比較します。

hash(x)

エントリーのハッシュを返します。

バージョン 1.7 で変更: 監査ログの項目が比較・ハッシュ可能になりました。

action

行われたアクション。

AuditLogAction

user

アクションを開始したユーザー。通常は Member ですが、存在しない場合は User です。

Optional[abc.User]

user_id

このアクションを行ったユーザーのID。

バージョン 2.2 で追加.

Optional[int]

id

項目ID。

int

guild

項目が属するギルド。

Guild

target

変更の対象。正確な型は、実行されるアクションによって異なります。

Any

reason

アクションの理由。

Optional[str]

extra

役立つかもしれない項目の追加の情報。ほとんどのアクションでは None ですが、場合により追加の情報が含まれます。どのアクションが対応しているかは AuditLogAction にて確認してください。

Any

created_at

項目の作成された時間をUTCで返します。

datetime.datetime

category

該当する場合、アクションのカテゴリ。

Optional[AuditLogActionCategory]

changes

この項目の変更の一覧。

AuditLogChanges

before

対象の前の状態。

AuditLogDiff

after

対象の直後の状態。

AuditLogDiff

AuditLogChanges

Attributes
class discord.AuditLogChanges

監査ログの変更のセット。

before

以前の値。この属性は AuditLogDiff 型です。

category で取得される AuditLogActionCategory によりこの属性の値が異なります:

カテゴリー

説明

create

全ての属性は None です。

delete

全ての属性は削除前の値に設定されています。

update

全ての属性は更新前の値に設定されています。

None

属性が設定されていません。

after

新しい値。この属性は AuditLogDiff 型です。

category で取得される AuditLogActionCategory によりこの属性の値が異なります:

カテゴリー

説明

create

全ての属性は作成時の値に設定されています。

delete

全ての属性は None です。

update

全ての属性は更新後の値に設定されています。

None

属性が設定されていません。

AuditLogDiff

class discord.AuditLogDiff

監査ログの「変更」オブジェクト。変更オブジェクトには、行われたアクションの種類によって異なる属性があります。特定のアクションが行われた場合に特定の属性が設定されます。

指定されたアクションに一致しない属性にアクセスすると、AttributeErrorが発生することに注意してください。

設定された属性のリストを取得するには、イテレートすることができます。 行われたアクションに対応した可能な属性の一覧は、 AuditLogAction の説明を確認してください。あるいは、可能なすべての属性について、以下の説明を確認してください。

iter(diff)

差分の(属性、値)タプルのイテレーターを返します。

name

何かの名前。

str

guild

ギルド属性。

Guild

icon

ギルドまたはロールのアイコン。 Guild.iconRole.icon も参照してください。

Asset

splash

ギルドの招待のスプラッシュ。 Guild.splash も参照してください。

Asset

discovery_splash

ギルドのディスカバリースプラッシュ。 Guild.discovery_splash も参照してください。

Asset

banner

ギルドのバナー。 Guild.banner も参照してください。

Asset

owner

ギルドの所有者。 Guild.owner も参照してください。

Union[Member, User]

afk_channel

ギルドのAFKチャンネル。

見つからない場合は、IDが設定された Object になります。

Guild.afk_channel を参照してください。

Union[VoiceChannel, Object]

system_channel

ギルドのシステムチャンネル。

見つからない場合は、IDが設定された Object になります。

Guild.system_channel を参照してください。

Union[TextChannel, Object]

rules_channel

ギルドのルールチャンネル。

見つからない場合は、IDが設定された Object になります。

Guild.rules_channel を参照してください。

Union[TextChannel, Object]

public_updates_channel

ギルドのパブリックアップデートチャンネル。

見つからない場合は、IDが設定された Object になります。

Guild.public_updates_channel を参照してください。

Union[TextChannel, Object]

afk_timeout

ギルドのAFKタイムアウト。 Guild.afk_timeout も参照してください。

int

mfa_level

ギルドの多要素認証レベル。 Guild.mfa_level も参照してください。

MFALevel

widget_enabled

ギルドのウィジェットが有効化または無効化された。

bool

widget_channel

ウィジェットのチャンネル。

見つからない場合は、IDが設定された Object になります。

Union[TextChannel, Object]

verification_level

ギルドの認証レベル。

Guild.verification_level も参照してください。

VerificationLevel

default_notifications

ギルドのデフォルト通知レベル。

Guild.default_notifications も参照してください。

NotificationLevel

explicit_content_filter

ギルドのコンテンツフィルター。

Guild.explicit_content_filter も参照してください。

ContentFilter

vanity_url_code

ギルドのバニティURL。

Guild.vanity_invite()Guild.edit() も参照してください。

str

position

Roleabc.GuildChannel の位置。

int

type

チャンネル、スタンプ、Webhookまたは連携サービスのタイプ。

Union[ChannelType, StickerType, WebhookType, str]

topic

TextChannel または StageChannel のトピック。

TextChannel.topic または StageChannel.topic も参照してください。

str

bitrate

VoiceChannel のビットレート。

VoiceChannel.bitrate も参照してください。

int

overwrites

対象とその PermissionOverwrite のタプルで示された権限の上書きのリスト。

最初の要素は対象のオブジェクトで、 MemberUserRole です。このオブジェクトが見つからない場合はこれはIDが設定され、 type 属性が 'role''member' に設定された Object になります。

List[Tuple[target, PermissionOverwrite]]

privacy_level

ステージインスタンスやスケジュールイベントのプライバシーレベル。

PrivacyLevel

roles

メンバーから追加または削除されたロールのリスト。

ロールが見つからない場合は、IDとnameが設定された Object になります。

List[Union[Role, Object]]

nick

メンバーのニックネーム。

Member.nick も参照してください。

Optional[str]

deaf

メンバーがサーバーでスピーカーミュートされているかどうか。

VoiceState.deaf も参照してください。

bool

mute

メンバーがサーバーでミュートされているかどうか。

VoiceState.mute も参照してください。

bool

permissions

ロールの権限。

Role.permissions も参照してください。

Permissions

colour
color

ロールの色。

Role.colour も参照してください。

Colour

hoist

役割が別に表示されるかどうか。

Role.hoist も参照してください。

bool

mentionable

役割がメンションできるかどうか。

Role.mentionable も参照してください。

bool

code

招待のコード。

Invite.code も参照してください。

str

channel

ギルドのチャンネル。

チャンネルが見つからない場合は、IDが設定された Object になります。 場合によっては、チャンネル名も設定されています。

Union[abc.GuildChannel, Object]

inviter

招待を作成したユーザー。

Invite.inviter も参照してください。

Optional[User]

max_uses

招待の最大使用回数。

Invite.max_uses も参照してください。

int

uses

招待の現在の使用回数。

Invite.uses も参照してください。

int

max_age

招待者の最大時間は秒数です。

Invite.max_age も参照してください。

int

temporary

招待が一時的な招待であるか。

Invite.temporary も参照してください。

bool

allow
deny

許可または拒否された権限。

Permissions

id

変更されたオブジェクトのID。

int

avatar

メンバーのアバター。

User.avatar も参照してください。

Asset

slowmode_delay

メンバーが別のメッセージをチャンネルに送信するまでの秒単位の待ち時間。

TextChannel.slowmode_delay も参照してください。

int

rtc_region

ボイスチャンネルの音声通信のためのリージョン。値が None の場合は自動で検出されます。

VoiceChannel.rtc_region も参照してください。

str

video_quality_mode

ボイスチャンネル参加者のカメラビデオの画質。

VoiceChannel.video_quality_mode も参照してください。

VideoQualityMode

format_type

変更されたスタンプのフォーマットの種類。

GuildSticker.format も参照してください。

StickerFormatType

emoji

変更されたスタンプを示す絵文字の名前。

GuildSticker.emoji も参照してください。

str

unicode_emoji

変更されたロールのアイコンとして使用されるUnicode絵文字。

Role.unicode_emoji も参照してください。

str

description

ギルド、スタンプ、またはスケジュールイベントの説明。

Guild.descriptionGuildSticker.description 、または ScheduledEvent.description も参照してください。

str

available

変更されたスタンプの利用可能かどうかの状態。

GuildSticker.available も参照してください。

bool

archived

スレッドがアーカイブされたか。

bool

locked

スレッドがロックされ、またはロックが解除されたかどうか。

bool

auto_archive_duration

変更されたスレッドの自動アーカイブ期間。

Thread.auto_archive_duration も参照してください。

int

default_auto_archive_duration

変更された新規作成されたスレッドの既定の自動アーカイブ期間。

int

invitable

モデレータ以外がプライベートスレッドにユーザーを追加できるかどうか。

bool

timed_out_until

ユーザーがタイムアウトされているかどうか、そしてその場合はいつまでか。

Optional[datetime.datetime]

enable_emoticons

連携サービスの絵文字が有効化され、または無効化されたか。

StreamIntegration.enable_emoticons も参照してください。

bool

expire_behaviour
expire_behavior

変更された期限切れのサブスクライバーの動作。

StreamIntegration.expire_behaviour も参照してください。

ExpireBehaviour

expire_grace_period

変更された期限切れのサブスクライバーの猶予期間。

StreamIntegration.expire_grace_period も参照してください。

int

preferred_locale

変更されたギルドの優先ローケル。

Guild.preferred_locale も参照してください。

Locale

prune_delete_days

変更された活動していない、かつロールが割り当てられていないメンバーがキックさえるまでの日数。

int

status

スケジュールイベントのステータス。

EventStatus

entity_type

スケジュールイベントの開催場所の種類。

EntityType

cover_image

スケジュールイベントのカバー画像。

ScheduledEvent.cover_image も参照してください。

Asset

app_command_permissions

アプリケーションコマンドの権限のリスト。

List[AppCommandPermissions]

enabled

自動管理ルールが有効かどうか。

bool

event_type

自動管理ルールを発動させるイベントの種類。

AutoModRuleEventType

trigger_type

自動管理ルールの発動条件の種類。

AutoModRuleTriggerType

trigger

自動管理ルールの発動条件。

注釈

The type of the trigger may be incorrect. Some attributes such as keyword_filter, regex_patterns, and allow_list will only have the added or removed values.

AutoModTrigger

actions

自動管理ルールの発動時の対応。

List[AutoModRuleAction]

exempt_roles

自動管理ルールの除外対象のロールのリスト。

List[Union[Role, Object]]

exempt_channels

自動管理ルールの除外対象のチャンネルまたはスレッドのリスト。

List[abc.GuildChannel, Thread, Object]

premium_progress_bar_enabled

ギルドのブーストの進捗バーを表示するかの設定。

bool

system_channel_flags

ギルドのシステムチャンネルの設定。

Guild.system_channel_flags を参照してください。

SystemChannelFlags

nsfw

チャンネルに年齢制限がかかっているか。

bool

user_limit

ボイスまたはステージチャンネルに参加できるメンバー数の制限。

VoiceChannel.user_limitStageChannel.user_limit も参照してください。

int

flags

このスレッドやフォーラム投稿に関連付けられたチャンネルフラグ。

ForumChannel.flagsThread.flags も参照してください。

ChannelFlags

default_thread_slowmode_delay

このテキストチャンネルやフォーラムで作成されたスレッドのデフォルトの低速モードのレート制限。

TextChannel.default_thread_slowmode_delayForumChannel.default_thread_slowmode_delay も参照してください。

int

applied_tags

フォーラム投稿に適用されたタグ。

Thread.applied_tags も参照してください。

List[Union[ForumTag, Object]]

available_tags

フォーラムにて利用可能なタグ。

ForumChannel.available_tags も参照してください。

Sequence[ForumTag]

default_reaction_emoji

フォーラム投稿の default_reaction_emoji。

ForumChannel.default_reaction_emoji も参照してください。

Optional[PartialEmoji]

Webhookサポート

discord.pyは、 Webhook クラスからWebhookの作成、編集、実行をサポートします。

Webhook

class discord.Webhook

非同期のDiscord Webhook。

Webhookはボットユーザーや認証なしでDiscordチャンネルにメッセージを送信する方法です。

Webhookの使用法は主に二つあります。一つ目は Guild.webhooks()TextChannel.webhooks()VoiceChannel.webhooks()ForumChannel.webhooks() といったライブラリーのメソッドから受け取るものです。これらは自動的にライブラリー内部のHTTPセッションを使用します。

二つ目は、 from_url()partial() クラスメソッドでWebhookオブジェクトを手動で作成する方法です。

例えば、URLからWebhookを作成し、 aiohttp を使用する場合は:

from discord import Webhook
import aiohttp

async def foo():
    async with aiohttp.ClientSession() as session:
        webhook = Webhook.from_url('url-here', session=session)
        await webhook.send('Hello World', username='Foo')

同期バージョンは、 SyncWebhook を参照してください。

x == y

二つのWebhookが等しいか比較します。

x != y

二つのWebhookが等しいものでないか比較します。

hash(x)

Webhookのハッシュを返します。

バージョン 1.4 で変更: Webhookが比較・ハッシュ可能になりました。

id

WebhookのID

int

type

Webhookのタイプ。

バージョン 1.3 で追加.

WebhookType

token

Webhookの認証トークン。 None の場合、Webhookは呼び出しできません。

Optional[str]

guild_id

WebhookのギルドID。

Optional[int]

channel_id

WebhookのチャンネルID。

Optional[int]

user

Webhookを作成したユーザー。このWebhookを認証なしで受け取った場合は None になります。

Optional[abc.User]

name

Webhookの既定の名前。

Optional[str]

source_guild

Webhookがフォローしているチャンネルのギルド。 typeWebhookType.channel_follower のときのみ与えられます。

バージョン 2.0 で追加.

Optional[PartialWebhookGuild]

source_channel

Webhookがフォローしているチャンネル。 typeWebhookType.channel_follower のときのみ与えられます。

バージョン 2.0 で追加.

Optional[PartialWebhookChannel]

property url

WebhookのURLを返します。

str

classmethod partial(id, token, *, session=..., client=..., bot_token=None)

部分的な Webhook を作成します。

パラメータ
  • id (int) -- WebhookのID。

  • token (str) -- Webhookの認証トークン。

  • session (aiohttp.ClientSession) --

    リクエストを送信するために使用するセッション。ライブラリはセッションを管理しておらず、閉じないことに注意してください。

    バージョン 2.0 で追加.

  • client (Client) --

    このWebhookを初期化するためのクライアント。これによりクライアントの内部状態を付属できます。このとき、 session が指定されていない場合は、クライアントの内部セッションが使用されます。

    バージョン 2.2 で追加.

  • bot_token (Optional[str]) --

    Webhook関連の認証が必要なリクエストに使用するボットの認証トークン。

    バージョン 2.0 で追加.

例外

TypeError -- sessionclient のどちらも指定されていない場合。

戻り値

部分的な Webhook 。部分的なWebhookはただのIDとトークンのみを持つWebhookオブジェクトです。

戻り値の型

Webhook

classmethod from_url(url, *, session=..., client=..., bot_token=None)

WebhookのURLから部分的な Webhook を作成します。

バージョン 2.0 で変更: この関数は InvalidArgument の代わりに ValueError を送出します。

パラメータ
  • url (str) -- WebhookのURL。

  • session (aiohttp.ClientSession) --

    リクエストを送信するために使用するセッション。ライブラリはセッションを管理しておらず、閉じないことに注意してください。

    バージョン 2.0 で追加.

  • client (Client) --

    このWebhookを初期化するためのクライアント。これによりクライアントの内部状態を付属できます。このとき、 session が指定されていない場合は、クライアントの内部セッションが使用されます。

    バージョン 2.2 で追加.

  • bot_token (Optional[str]) --

    Webhook関連の認証が必要なリクエストに使用するボットの認証トークン。

    バージョン 2.0 で追加.

例外
  • ValueError -- URLが無効な場合。

  • TypeError -- sessionclient のどちらも指定されていない場合。

戻り値

部分的な Webhook 。部分的なWebhookはただのIDとトークンのみを持つWebhookオブジェクトです。

戻り値の型

Webhook

await fetch(*, prefer_auth=True)

This function is a coroutine.

現在のWebhookを取得します。

これは部分的なWebhookから完全なWebhookを取得するのに利用できます。

バージョン 2.0 で追加.

注釈

認証されていないWebhook、つまり is_authenticated()False を返すものでは、返されたWebhookにはユーザー情報が含まれません。

パラメータ

prefer_auth (bool) -- 利用可能な場合にWebhookトークンではなくボットトークンを使用するか。既定では True

例外
  • HTTPException -- Webhookを取得できなかった場合。

  • NotFound -- このIDを持つWebhookが見つからない場合。

  • ValueError -- Webhookに紐づいたトークンが存在しない場合。

戻り値

フェッチしたWebhook。

戻り値の型

Webhook

await delete(*, reason=None, prefer_auth=True)