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]

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 オブジェクトを返します。

このイベントの性質は、本質的に生表現のため、データのパラメータは ゲートウェイ によって与えられた生データと一致します。

データのペイロードが部分的であるため、データにアクセスするときは気をつけてください。部分的なデータの主な場合のひとつは、'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) -- 生のイベントペイロードデータ。

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 で追加.

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 で追加.

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.

監査ログデータ

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)

This function is a coroutine.

この Webhook を削除します。

パラメータ
  • reason (Optional[str]) --

    Webhookを削除する理由。監査ログに表示されます。

    バージョン 1.4 で追加.

  • prefer_auth (bool) --

    利用可能な場合にWebhookトークンではなくボットトークンを使用するか。既定では True

    バージョン 2.0 で追加.

例外
  • HTTPException -- Webhookの削除に失敗した場合。

  • NotFound -- Webhookが存在しない場合。

  • Forbidden -- Webhookを削除する権限がない場合。

  • ValueError -- Webhookに紐づいたトークンが存在しない場合。

await edit(*, reason=None, name=..., avatar=..., channel=None, prefer_auth=True)

This function is a coroutine.

このWebhookを編集します。

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

パラメータ
  • name (Optional[str]) -- Webhookの新しい既定の名前。

  • avatar (Optional[bytes]) -- Webhookの新しい既定のアバターを示す bytes-like object

  • channel (Optional[abc.Snowflake]) --

    Webhookの新しいチャンネル。設定するには認証済みWebhookが必要です。

    バージョン 2.0 で追加.

  • reason (Optional[str]) --

    Webhookを編集する理由。監査ログに表示されます。

    バージョン 1.4 で追加.

  • prefer_auth (bool) --

    利用可能な場合にWebhookトークンではなくボットトークンを使用するか。既定では True

    バージョン 2.0 で追加.

例外
  • HTTPException -- Webhookの編集に失敗した場合。

  • NotFound -- Webhookが存在しない場合。

  • ValueError -- Webhookに紐づいたトークンがない場合や、認証せずにチャンネルを編集しようとした場合。

property avatar

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

Webhookが従来のアバターを設定していない場合は、 None が返されます。Webhookが表示しているアバターを取得したい場合は、 display_avatar を検討してください。

Optional[Asset]

property channel

このWebhookが属するチャンネル。

これが部分的なWebhookの場合は常に None を返します。

Optional[Union[ForumChannel, VoiceChannel, TextChannel]]

property created_at

Webhookの作成時刻をUTCで返します。

datetime.datetime

property default_avatar

デフォルトのアバターを返します。これは常にブループルのアバターです。

バージョン 2.0 で追加.

Asset

property display_avatar

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

これはWebhookのデフォルトアバターまたはアップロードされたアバターです。

バージョン 2.0 で追加.

Asset

property guild

Webhookが属するギルド。

これが部分的なWebhookの場合は常に None を返します。

Optional[Guild]

is_authenticated()

bool: WebhookがBotトークンで認証されているかどうか。

バージョン 2.0 で追加.

is_partial()

bool: Webhookが「部分的な」ものか。

バージョン 2.0 で追加.

await send(content=..., *, username=..., avatar_url=..., tts=False, ephemeral=False, file=..., files=..., embed=..., embeds=..., allowed_mentions=..., view=..., thread=..., thread_name=..., wait=False, suppress_embeds=False, silent=False, applied_tags=...)

This function is a coroutine.

Webhookを使用してメッセージを送信します。

contentは str(content) で文字列に変換できるものでなければなりません。

ファイルを一つだけアップロードするには、 file パラメータに File オブジェクトを渡します。

embed パラメータが渡された場合は、型が Embed であり、その種類はrichでないといけません。 embed パラメータは、送信する Embedlist である embeds パラメータと同時に使用できません。

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

パラメータ
  • content (str) -- 送信するメッセージの内容。

  • wait (bool) -- サーバーが応答を送信するまで待つべきかどうか。これは、 True に設定された場合にこの関数の返り値が None から WebhookMessage に変わることを意味します。もしこのWebhookの種類が WebhookType.application の場合はこれは常に True に設定されます。

  • username (str) -- このメッセージを送信するユーザー名。ユーザー名が指定されていない場合、Webhookのデフォルトのユーザー名が使用されます。

  • avatar_url (str) -- このメッセージと共に送信するアバターのURL。アバターURLが指定されていない場合、Webhookのデフォルトアバターが使用されます。 これが文字列でない場合は、 str を使って明示的にキャストされます。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • ephemeral (bool) --

    メッセージがユーザーにのみ表示されるべきかを示します。これは WebhookType.application Webhookでのみ利用できます。もしビューが一時的なメッセージとともに送信されタイムアウトが設定されていない場合、タイムアウトは15分に設定されます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。 files パラメータと同時に使用できません。

  • files (List[File]) -- コンテンツといっしょに送信するファイルのリスト。 file パラメータと同時に使用できません。

  • embed (Embed) -- 送信するリッチな埋め込み。 embeds パラメータと同時に使用できません。

  • embeds (List[Embed]) -- 送信するリッチな埋め込みのリスト。最大10個です。 embed パラメータと同時に使用できません。

  • allowed_mentions (AllowedMentions) --

    メッセージ内で処理されるべきメンションを制御します。

    バージョン 1.4 で追加.

  • view (discord.ui.View) --

    メッセージとともに送信するビュー。Webhookが部分的でなく、ステートが付属している場合にのみビューを送信できます。Webhookがライブラリーにて管理されている場合にステートが付属しています。

    バージョン 2.0 で追加.

  • thread (Snowflake) --

    このWebhookを送信するスレッド。

    バージョン 2.0 で追加.

  • thread_name (str) --

    Webhookが ForumChannel に属する場合、このWebhookで作成するスレッドの名前。なお、これは与えられた名前の新しいスレッドを作成するため、 thread パラメータと同時に使用できません。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

  • applied_tags (List[ForumTag]) --

    Tags to apply to the thread if the webhook belongs to a ForumChannel.

    バージョン 2.4 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • NotFound -- Webhookが見つからなかった場合。

  • Forbidden -- Webhookの認証トークンが正しくない場合。

  • TypeError -- embedembeds または filefiles または threadthread_name の両方を指定した場合。

  • ValueError -- embeds の長さが不正な場合、Webhookにトークンが紐づいていない場合、 ephemeral が適切でない種類のWebhookに渡された場合、またはステートが付属していないWebhookにビューを渡した場合。

戻り値

waitTrue のとき、送信されたメッセージ、それ以外の場合は None

戻り値の型

Optional[WebhookMessage]

await fetch_message(id, /, *, thread=...)

This function is a coroutine.

このWebhookが送信した WebhookMessage をひとつ取得します。

バージョン 2.0 で追加.

パラメータ
  • id (int) -- 探すメッセージのID。

  • thread (Snowflake) -- 確認するスレッド。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

  • ValueError -- Webhookに紐づいたトークンが存在しない場合。

戻り値

要求されたメッセージ。

戻り値の型

WebhookMessage

await edit_message(message_id, *, content=..., embeds=..., embed=..., attachments=..., view=..., allowed_mentions=None, thread=...)

This function is a coroutine.

このWebhookが所有するメッセージを編集します。

これは、IDしか持っていない場合のための、 WebhookMessage.edit() より低レベルなインターフェースです。

バージョン 1.6 で追加.

バージョン 2.0 で変更: 編集はメッセージを置き換えず、編集された新しいメッセージが返されるようになりました。

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

パラメータ
  • message_id (int) -- 編集するメッセージ ID。

  • content (Optional[str]) -- メッセージの内容を編集する場合はそのメッセージを、内容を削除する際は、None を指定します。

  • embeds (List[Embed]) -- メッセージを編集するための埋め込みのリスト。

  • embed (Optional[Embed]) -- メッセージを編集するための埋め込み。 None を渡すと埋め込みが除去されます。 embeds パラメータと同時に使用できません。

  • attachments (List[Union[Attachment, File]]) --

    メッセージ内で残す添付ファイルと、新規にアップロードする添付ファイルのリスト。 [] が渡された場合すべての添付ファイルが除去されます。

    バージョン 2.0 で追加.

  • allowed_mentions (AllowedMentions) -- このメッセージで処理されるメンションを制御します。詳細は abc.Messageable.send() を参照してください。

  • view (Optional[View]) --

    メッセージを編集するための更新されたビュー。 None を渡すとビューが除去されます。 send() と同様にWebhookにはステートが付属していないといけません。

    バージョン 2.0 で追加.

  • thread (Snowflake) --

    Webhookメッセージが属するスレッド。

    バージョン 2.0 で追加.

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 自分以外のメッセージを編集しようとした場合。

  • TypeError -- embedembeds の両方を指定した場合。

  • ValueError -- embeds の長さが不正な場合、Webhookに紐づいたトークンが存在しない場合、またはWebhookにステートが付属していない場合。

戻り値

編集された新しいWebhookメッセージ。

戻り値の型

WebhookMessage

await delete_message(message_id, /, *, thread=...)

This function is a coroutine.

このWebhookが所有するメッセージを削除します。

これは、IDしか持っていない場合のための、 WebhookMessage.delete() より低レベルなインターフェースです。

バージョン 1.6 で追加.

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

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

パラメータ
  • message_id (int) -- 削除するメッセージ ID。

  • thread (Snowflake) --

    Webhookメッセージが属するスレッド。

    バージョン 2.0 で追加.

例外
  • HTTPException -- メッセージの削除に失敗した場合。

  • Forbidden -- 自分以外のメッセージを削除しようとした場合。

  • ValueError -- Webhookに紐づいたトークンが存在しない場合。

WebhookMessage

class discord.WebhookMessage

Webhookから送信されたメッセージです。

これにより、webhookから送信されたメッセージを編集、または削除できます。

これは edit()delete() が機能するように変更された上で discord.Message を継承しています。

バージョン 1.6 で追加.

await edit(*, content=..., embeds=..., embed=..., attachments=..., view=..., allowed_mentions=None)

This function is a coroutine.

メッセージを編集します。

バージョン 1.6 で追加.

バージョン 2.0 で変更: 編集はメッセージを置き換えず、編集された新しいメッセージが返されるようになりました。

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

パラメータ
  • content (Optional[str]) -- メッセージの内容を編集する場合はそのメッセージを、内容を削除する際は、None を指定します。

  • embeds (List[Embed]) -- メッセージを編集するための埋め込みのリスト。

  • embed (Optional[Embed]) -- メッセージを編集するための埋め込み。 None を渡すと埋め込みが除去されます。 embeds パラメータと同時に使用できません。

  • attachments (List[Union[Attachment, File]]) --

    メッセージ内で残す添付ファイルと、新規にアップロードする添付ファイルのリスト。 [] が渡された場合すべての添付ファイルが除去されます。

    注釈

    新しいファイルは常に現在の添付ファイルのあとに表示されます。

    バージョン 2.0 で追加.

  • allowed_mentions (AllowedMentions) -- このメッセージで処理されるメンションを制御します。詳細は abc.Messageable.send() を参照してください。

  • view (Optional[View]) --

    このメッセージを更新するために更新されたビュー。 None が渡された場合、ビューは削除されます。

    バージョン 2.0 で追加.

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 自分以外のメッセージを編集しようとした場合。

  • TypeError -- embedembeds の両方を指定した場合。

  • ValueError -- embeds の長さが不正な場合、もしくはこのwebhookに紐付けられたトークンがない場合。

戻り値

編集された新しいメッセージ。

戻り値の型

WebhookMessage

await add_files(*files)

This function is a coroutine.

メッセージの添付ファイルの末尾に新しいファイルを追加します。

バージョン 2.0 で追加.

パラメータ

*files (File) -- メッセージに追加する新しいファイル。

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 自分以外のメッセージを編集しようとした場合。

戻り値

編集された新しいメッセージ。

戻り値の型

WebhookMessage

await remove_attachments(*attachments)

This function is a coroutine.

メッセージの添付ファイルを削除します。

バージョン 2.0 で追加.

パラメータ

*attachments (Attachment) -- メッセージから削除する添付ファイル。

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 自分以外のメッセージを編集しようとした場合。

戻り値

編集された新しいメッセージ。

戻り値の型

WebhookMessage

await delete(*, delay=None)

This function is a coroutine.

メッセージを削除します。

パラメータ

delay (Optional[float]) -- 指定された場合、メッセージを削除するまでの待機秒数。待機はバックグラウンドで行われ、削除の失敗は無視されます。

例外
  • Forbidden -- メッセージを削除するための適切な権限がない場合。

  • NotFound -- メッセージがすでに削除されている場合。

  • HTTPException -- メッセージの削除に失敗した場合。

await add_reaction(emoji, /)

This function is a coroutine.

メッセージにリアクションを追加します。

絵文字はユニコード絵文字かカスタムギルド絵文字の Emoji でないといけません。

これを行うためには、そのチャンネルにて read_message_history が必要です。 もし、他の人がその絵文字でリアクションしていない場合、さらに add_reactions が必要です。

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

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

パラメータ

emoji (Union[Emoji, Reaction, PartialEmoji, str]) -- リアクションとして追加する絵文字。

例外
  • HTTPException -- リアクションの追加に失敗した場合。

  • Forbidden -- メッセージにリアクションを付けるのに必要な権限がない場合。

  • NotFound -- 指定された絵文字が見つからなかった場合。

  • TypeError -- emojiパラメータが無効の場合。

clean_content

クリーンアップされたメッセージ内容を返すプロパティ。基本的に、これはメンションをクライアントが表示するようなものに変換にする、という意味です。例えば、 <#id>#name に変換されます。

また、これは @everyone メンション や @here メンションを、メンション機能の無いメッセージに変換します。

注釈

これはマークダウンには影響 しません 。マークダウンをエスケープまたは削除したい場合は、この関数とともに utils.escape_markdown()utils.remove_markdown() を使用してください。

str

await clear_reaction(emoji)

This function is a coroutine.

メッセージから特定のリアクションを除去します。

絵文字はユニコード絵文字かカスタムギルド絵文字の Emoji でないといけません。

これを行うには、 manage_messages が必要です。

バージョン 1.3 で追加.

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

パラメータ

emoji (Union[Emoji, Reaction, PartialEmoji, str]) -- 除去する絵文字。

例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションを除去するのに必要な権限がない場合。

  • NotFound -- 指定された絵文字が見つからなかった場合。

  • TypeError -- emojiパラメータが無効の場合。

await clear_reactions()

This function is a coroutine.

メッセージからリアクションをすべて除去します。

これを行うには、 manage_messages が必要です。

例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションの除去に必要な権限を持っていない場合。

await create_thread(*, name, auto_archive_duration=..., slowmode_delay=None, reason=None)

This function is a coroutine.

メッセージからパブリックスレッドを作成します。

メッセージからパブリックスレッドを作成するには、 create_public_threads 権限が必要です。

このメッセージが属するチャンネルは、 TextChannel でなければなりません。

バージョン 2.0 で追加.

パラメータ
  • name (str) -- スレッドの名前。

  • auto_archive_duration (int) -- スレッドがチャンネルリストから自動的に非表示になるまでの分単位の時間。 指定されていない場合、チャンネルのデフォルトの自動アーカイブ期間が使用されます。指定された場合は、 6014404320 、または 10080 のいずれかでないといけません。

  • slowmode_delay (Optional[int]) -- このチャンネルの秒単位での低速モードレート制限。 最大値は 21600 です。デフォルトは None でこの場合は低速モードレート制限が無しとなります。

  • reason (Optional[str]) -- スレッドを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- スレッドを作成する権限を持っていない場合。

  • HTTPException -- スレッドの作成に失敗した場合。

  • ValueError -- メッセージがギルド情報を持っていない場合。

戻り値

作成されたスレッド。

戻り値の型

Thread

property created_at

UTCの、メッセージが作成された時刻。

datetime.datetime

property edited_at

メッセージの編集時間を含んだ、awareなUTCのdatetimeオブジェクト。

Optional[datetime.datetime]

await fetch()

This function is a coroutine.

部分的なメッセージを完全な Message に変換します。

例外
  • NotFound -- メッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

完全なメッセージ。

戻り値の型

Message

await fetch_thread()

This function is a coroutine.

Retrieves the public thread attached to this message.

注釈

This method is an API call. For general usage, consider thread instead.

バージョン 2.4 で追加.

例外
  • InvalidData -- An unknown channel type was received from Discord or the guild the thread belongs to is not the same as the one in this object points to.

  • HTTPException -- Retrieving the thread failed.

  • NotFound -- There is no thread attached to this message.

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

戻り値

The public thread attached to this message.

戻り値の型

Thread

is_system()

bool: メッセージがシステムメッセージかどうか。

システムメッセージは、何かの応答としてDiscord APIによって構築されるメッセージです。

バージョン 1.3 で追加.

property jump_url

クライアントがこのメッセージにジャンプすることのできるURLを返します。

str

await pin(*, reason=None)

This function is a coroutine.

メッセージをピン留めします。

プライベートチャンネルでない通常のチャンネルで行うには、 manage_messages が必要です。

パラメータ

reason (Optional[str]) --

メッセージをピン留めする理由。監査ログに表示されます。

バージョン 1.4 で追加.

例外
  • Forbidden -- このメッセージをピン留めする権限を持っていない場合。

  • NotFound -- ピン留めするメッセージやチャンネルが見つからなかったか、既に削除されている場合。

  • HTTPException -- チャンネルにすでに50個ピン留めされたメッセージがあるなどの理由で、メッセージのピン留めに失敗した場合。

await publish()

This function is a coroutine.

このメッセージをチャンネルのフォロワーに公開します。

メッセージはニュースチャンネルで送信されている必要があります。これを行うには、 send_messages が必要です。

自身のメッセージ以外の場合は manage_messages も必要です。

例外
  • Forbidden -- このメッセージを公開するための適切な権限がないか、チャンネルがニュースチャンネルでない場合。

  • HTTPException -- メッセージの公開に失敗した場合。

raw_channel_mentions

メッセージ内容から、 <@channel_id> の構文に一致したもののchannel_idのリストを返すプロパティです。

List[int]

raw_mentions

メッセージ内容から、 <@user_id> の構文に一致したもののuser_idのリストを返すプロパティです。

これによって、メッセージがプライベートチャンネル内のものであってもメンションされたユーザーのIDを受け取ることができます。

List[int]

raw_role_mentions

メッセージ内容から、 <@&role_id> の構文に一致したもののrole_idのリストを返すプロパティです。

List[int]

await remove_reaction(emoji, member)

This function is a coroutine.

メッセージからあるメンバーによるリアクションをすべて除去します。

絵文字はユニコード絵文字かカスタムギルド絵文字の Emoji でないといけません。

もしリアクションがあなたのものではなければ(つまり、 member パラメーターがあなたでないなら)、 manage_messages も必要になります。

member パラメータはメンバーを示し abc.Snowflake 抽象基底クラスを満たす必要があります。

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

パラメータ
例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションの除去に必要な権限を持っていない場合。

  • NotFound -- 指定されたメンバーや絵文字が見つからなかった場合。

  • TypeError -- emojiパラメータが無効の場合。

await reply(content=None, **kwargs)

This function is a coroutine.

Message に返信するための abc.Messageable.send() のショートカットメソッド。

バージョン 1.6 で追加.

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

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files リストの大きさが適切でない場合。

  • TypeError -- filefiless の両方を指定した場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

system_content

Message.type に関わらず、レンダリングされた際のメッセージ内容を返すプロパティ。

MessageType.defaultMessageType.reply の場合、これは Message.content と同じものを返すだけです。しかしそれ以外の場合は、システムメッセージの英語版を返します。

str

property thread

The public thread created from this message, if it exists.

注釈

For messages received via the gateway this does not retrieve archived threads, as they are not retained in the internal cache. Use fetch_thread() instead.

バージョン 2.4 で追加.

Optional[Thread]

to_reference(*, fail_if_not_exists=True)

現在のメッセージから MessageReference を作成します。

バージョン 1.6 で追加.

パラメータ

fail_if_not_exists (bool) --

メッセージ参照を使用して返信するとき、メッセージが存在しなくなった場合、またはDiscordがメッセージを取得できなかった場合、 HTTPException を送出させるかどうか。

バージョン 1.7 で追加.

戻り値

メッセージへの参照。

戻り値の型

MessageReference

await unpin(*, reason=None)

This function is a coroutine.

メッセージのピン留めを外します。

プライベートチャンネルでない通常のチャンネルで行うには、 manage_messages が必要です。

パラメータ

reason (Optional[str]) --

メッセージのピン留めを解除した理由。監査ログに表示されます。

バージョン 1.4 で追加.

例外
  • Forbidden -- このメッセージのピン留めを外す権限を持っていない場合。

  • NotFound -- ピン留めするメッセージやチャンネルが見つからなかったか、既に削除されている場合。

  • HTTPException -- メッセージのピン留め解除に失敗した場合。

SyncWebhook

class discord.SyncWebhook

同期的なDiscord webhookです。

非同期対応については、 Webhook を参照してください。

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=..., bot_token=None)

部分的な Webhook を作成します。

パラメータ
  • id (int) -- WebhookのID。

  • token (str) -- Webhookの認証トークン。

  • session (requests.Session) -- リクエストを送信するために使うセッション。ライブラリはセッションを管理しておらず、セッションを閉じないことに注意してください。指定されていない場合は、代わりに requests の自動セッション作成関数が使用されます。

  • bot_token (Optional[str]) -- Webhook関連の認証が必要なリクエストに使用するボットの認証トークン。

戻り値

部分的な SyncWebhook 。部分的な SyncWebhook はただのIDとトークンのみを持つ SyncWebhook オブジェクトです。

戻り値の型

SyncWebhook

classmethod from_url(url, *, session=..., bot_token=None)

WebhookのURLから部分的な Webhook を作成します。

パラメータ
  • url (str) -- WebhookのURL。

  • session (requests.Session) -- リクエストを送信するために使うセッション。ライブラリはセッションを管理しておらず、セッションを閉じないことに注意してください。指定されていない場合は、代わりに requests の自動セッション作成関数が使用されます。

  • bot_token (Optional[str]) -- Webhook関連の認証が必要なリクエストに使用するボットの認証トークン。

例外

ValueError -- URLが無効な場合。

戻り値

部分的な SyncWebhook 。部分的な SyncWebhook はただのIDとトークンのみを持つ SyncWebhook オブジェクトです。

戻り値の型

SyncWebhook

fetch(*, prefer_auth=True)

現在のWebhookを取得します。

これは部分的なWebhookから完全なWebhookを取得するのに利用できます。

注釈

認証されていないWebhook、つまり is_authenticated()False を返すものでは、返されたWebhookにはユーザー情報が含まれません。

パラメータ

prefer_auth (bool) -- 利用可能な場合にWebhookトークンではなくボットトークンを使用するか。既定では True

例外
  • HTTPException -- Webhookを取得できなかった場合。

  • NotFound -- このIDを持つWebhookが見つからない場合。

  • ValueError -- Webhookに紐づいたトークンが存在しない場合。

戻り値

フェッチしたWebhook。

戻り値の型

SyncWebhook

delete(*, reason=None, prefer_auth=True)

この Webhook を削除します。

パラメータ
  • reason (Optional[str]) --

    Webhookを削除する理由。監査ログに表示されます。

    バージョン 1.4 で追加.

  • prefer_auth (bool) -- 利用可能な場合にWebhookトークンではなくボットトークンを使用するか。既定では True

例外
  • HTTPException -- Webhookの削除に失敗した場合。

  • NotFound -- Webhookが存在しない場合。

  • Forbidden -- Webhookを削除する権限がない場合。

  • ValueError -- Webhookに紐づいたトークンが存在しない場合。

edit(*, reason=None, name=..., avatar=..., channel=None, prefer_auth=True)

このWebhookを編集します。

パラメータ
  • name (Optional[str]) -- Webhookの新しい既定の名前。

  • avatar (Optional[bytes]) -- Webhookの新しい既定のアバターを示す bytes-like object

  • channel (Optional[abc.Snowflake]) -- Webhookの新しいチャンネル。設定するには認証済みWebhookが必要です。

  • reason (Optional[str]) --

    Webhookを編集する理由。監査ログに表示されます。

    バージョン 1.4 で追加.

  • prefer_auth (bool) -- 利用可能な場合にWebhookトークンではなくボットトークンを使用するか。既定では True

例外
  • HTTPException -- Webhookの編集に失敗した場合。

  • NotFound -- Webhookが存在しない場合。

  • ValueError -- Webhookに紐づいたトークンがない場合や、認証せずにチャンネルを編集しようとした場合。

戻り値

編集された新しいWebhook。

戻り値の型

SyncWebhook

send(content=..., *, username=..., avatar_url=..., tts=False, file=..., files=..., embed=..., embeds=..., allowed_mentions=..., thread=..., thread_name=..., wait=False, suppress_embeds=False, silent=False)

Webhookを使用してメッセージを送信します。

contentは str(content) で文字列に変換できるものでなければなりません。

ファイルを一つだけアップロードするには、 file パラメータに File オブジェクトを渡します。

embed パラメータが渡された場合は、型が Embed であり、その種類はrichでないといけません。 embed パラメータは、送信する Embedlist である embeds パラメータと同時に使用できません。

パラメータ
  • content (str) -- 送信するメッセージの内容。

  • wait (bool) -- サーバーが応答を送信するまで待機するかどうか。True が指定された場合、これは基本的にこの関数の戻り値の型が None から WebhookMessage に変更されることを意味します。

  • username (str) -- このメッセージを送信するユーザー名。ユーザー名が指定されていない場合、Webhookのデフォルトのユーザー名が使用されます。

  • avatar_url (str) -- このメッセージと共に送信するアバターのURL。アバターURLが指定されていない場合、Webhookのデフォルトアバターが使用されます。 これが文字列でない場合は、 str を使って明示的にキャストされます。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • file (File) -- アップロードするファイル。 files パラメータと同時に使用できません。

  • files (List[File]) -- コンテンツといっしょに送信するファイルのリスト。 file パラメータと同時に使用できません。

  • embed (Embed) -- 送信するリッチな埋め込み。 embeds パラメータと同時に使用できません。

  • embeds (List[Embed]) -- 送信するリッチな埋め込みのリスト。最大10個です。 embed パラメータと同時に使用できません。

  • allowed_mentions (AllowedMentions) --

    メッセージ内で処理されるべきメンションを制御します。

    バージョン 1.4 で追加.

  • thread (Snowflake) --

    このメッセージを送信するスレッド。

    バージョン 2.0 で追加.

  • thread_name (str) --

    Webhookが ForumChannel に属する場合、このWebhookで作成するスレッドの名前。なお、これは与えられた名前の新しいスレッドを作成するため、 thread パラメータと同時に使用できません。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • NotFound -- Webhookが見つからなかった場合。

  • Forbidden -- Webhookの認証トークンが正しくない場合。

  • TypeError -- embedembeds または filefiles または threadthread_name の両方を指定した場合。

  • ValueError -- embeds の長さが不正な場合、もしくはこのwebhookに紐付けられたトークンがない場合。

戻り値

waitTrue のとき、送信されたメッセージ、それ以外の場合は None

戻り値の型

Optional[SyncWebhookMessage]

fetch_message(id, /, *, thread=...)

このwebhookが送信した SyncWebhookMessage を1つ取得します。

バージョン 2.0 で追加.

パラメータ
  • id (int) -- 探すメッセージのID。

  • thread (Snowflake) -- 確認するスレッド。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

  • ValueError -- Webhookに紐づいたトークンが存在しない場合。

戻り値

要求されたメッセージ。

戻り値の型

SyncWebhookMessage

property avatar

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

Webhookが従来のアバターを設定していない場合は、 None が返されます。Webhookが表示しているアバターを取得したい場合は、 display_avatar を検討してください。

Optional[Asset]

property channel

このWebhookが属するチャンネル。

これが部分的なWebhookの場合は常に None を返します。

Optional[Union[ForumChannel, VoiceChannel, TextChannel]]

property created_at

Webhookの作成時刻をUTCで返します。

datetime.datetime

property default_avatar

デフォルトのアバターを返します。これは常にブループルのアバターです。

バージョン 2.0 で追加.

Asset

property display_avatar

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

これはWebhookのデフォルトアバターまたはアップロードされたアバターです。

バージョン 2.0 で追加.

Asset

edit_message(message_id, *, content=..., embeds=..., embed=..., attachments=..., allowed_mentions=None, thread=...)

このWebhookが所有するメッセージを編集します。

これは、IDしか持っていない場合のための、 WebhookMessage.edit() より低レベルなインターフェースです。

バージョン 1.6 で追加.

パラメータ
  • message_id (int) -- 編集するメッセージ ID。

  • content (Optional[str]) -- メッセージの内容を編集する場合はそのメッセージを、内容を削除する際は、None を指定します。

  • embeds (List[Embed]) -- メッセージを編集するための埋め込みのリスト。

  • embed (Optional[Embed]) -- メッセージを編集するための埋め込み。 None を渡すと埋め込みが除去されます。 embeds パラメータと同時に使用できません。

  • attachments (List[Union[Attachment, File]]) --

    メッセージ内で残す添付ファイルと、新規にアップロードする添付ファイルのリスト。 [] が渡された場合すべての添付ファイルが除去されます。

    バージョン 2.0 で追加.

  • allowed_mentions (AllowedMentions) -- このメッセージで処理されるメンションを制御します。詳細は abc.Messageable.send() を参照してください。

  • thread (Snowflake) --

    Webhookメッセージが属するスレッド。

    バージョン 2.0 で追加.

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 自分以外のメッセージを編集しようとした場合。

  • TypeError -- embedembeds の両方を指定した場合。

  • ValueError -- embeds の長さが不正な場合、もしくはこのwebhookに紐付けられたトークンがない場合。

property guild

Webhookが属するギルド。

これが部分的なWebhookの場合は常に None を返します。

Optional[Guild]

is_authenticated()

bool: WebhookがBotトークンで認証されているかどうか。

バージョン 2.0 で追加.

is_partial()

bool: Webhookが「部分的な」ものか。

バージョン 2.0 で追加.

delete_message(message_id, /, *, thread=...)

このWebhookが所有するメッセージを削除します。

これは、IDしか持っていない場合のための、 WebhookMessage.delete() より低レベルなインターフェースです。

バージョン 1.6 で追加.

パラメータ
  • message_id (int) -- 削除するメッセージ ID。

  • thread (Snowflake) --

    Webhookメッセージが属するスレッド。

    バージョン 2.0 で追加.

例外
  • HTTPException -- メッセージの削除に失敗した場合。

  • Forbidden -- 自分以外のメッセージを削除しようとした場合。

  • ValueError -- Webhookに紐づいたトークンが存在しない場合。

SyncWebhookMessage

Methods
class discord.SyncWebhookMessage

Webhookから送信されたメッセージです。

これにより、webhookから送信されたメッセージを編集、または削除できます。

これは edit()delete() が機能するように変更された上で discord.Message を継承しています。

バージョン 2.0 で追加.

edit(*, content=..., embeds=..., embed=..., attachments=..., allowed_mentions=None)

メッセージを編集します。

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

パラメータ
  • content (Optional[str]) -- メッセージの内容を編集する場合はそのメッセージを、内容を削除する際は、None を指定します。

  • embeds (List[Embed]) -- メッセージを編集するための埋め込みのリスト。

  • embed (Optional[Embed]) -- メッセージを編集するための埋め込み。 None を渡すと埋め込みが除去されます。 embeds パラメータと同時に使用できません。

  • attachments (List[Union[Attachment, File]]) --

    メッセージ内で残す添付ファイルと、新規にアップロードする添付ファイルのリスト。 [] が渡された場合すべての添付ファイルが除去されます。

    注釈

    新しいファイルは常に現在の添付ファイルのあとに表示されます。

    バージョン 2.0 で追加.

  • allowed_mentions (AllowedMentions) -- このメッセージで処理されるメンションを制御します。詳細は abc.Messageable.send() を参照してください。

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 自分以外のメッセージを編集しようとした場合。

  • TypeError -- embedembeds の両方を指定した場合。

  • ValueError -- embeds の長さが不正な場合、もしくはこのwebhookに紐付けられたトークンがない場合。

戻り値

編集された新しいメッセージ。

戻り値の型

SyncWebhookMessage

add_files(*files)

メッセージの添付ファイルの末尾に新しいファイルを追加します。

バージョン 2.0 で追加.

パラメータ

*files (File) -- メッセージに追加する新しいファイル。

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 自分以外のメッセージを編集しようとした場合。

戻り値

編集された新しいメッセージ。

戻り値の型

SyncWebhookMessage

remove_attachments(*attachments)

メッセージの添付ファイルを削除します。

バージョン 2.0 で追加.

パラメータ

*attachments (Attachment) -- メッセージから削除する添付ファイル。

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 自分以外のメッセージを編集しようとした場合。

戻り値

編集された新しいメッセージ。

戻り値の型

SyncWebhookMessage

delete(*, delay=None)

メッセージを削除します。

パラメータ

delay (Optional[float]) -- 指定された場合、メッセージを削除するまでの待機秒数。これはスレッドをブロックします。

例外
  • Forbidden -- メッセージを削除するための適切な権限がない場合。

  • NotFound -- メッセージがすでに削除されている場合。

  • HTTPException -- メッセージの削除に失敗した場合。

抽象基底クラス

abstract base classabc という名称でも知られています)はモデルが振る舞いを得るために継承するクラスです。 抽象基底クラスはインスタンス化されるべきではありません。 これらは主に isinstance()issubclass() で使用するために存在します。

このライブラリには抽象基底クラスに関連するモジュールがあり、その中の抽象基底クラスは全て typing.Protocol のサブクラスです。

Snowflake

Attributes
class discord.abc.Snowflake

Discordモデルに共通する処理を説明するABC。

ほぼすべての Discord models がこの抽象基底クラスを満たしています。

スノーフレークを自分で作成したい場合は、 Object を使用することを検討してください。

id

モデルのユニークなID。

int

User

class discord.abc.User

Discordユーザーに共通する処理を説明するABC。

以下のクラスがこのABCを実装しています:

この抽象基底クラスは Snowflake も実装しなければなりません。

name

ユーザー名。

str

discriminator

ユーザーのタグ。これは、現在は使用されていない、過去の遺物です。

str

global_name

ユーザーのグローバルの表示名。

Optional[str]

bot

ユーザーがBotであるかどうか。

bool

system

ユーザーがシステムアカウントであるかどうか。

bool

property display_name

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

str

property mention

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

str

property avatar

ユーザーのアバターが存在する場合は、それを表すアセットを返します。

Optional[Asset]

property avatar_decoration

Returns an Asset that represents the user's avatar decoration, if present.

バージョン 2.4 で追加.

Optional[Asset]

property avatar_decoration_sku_id

Returns an integer that represents the user's avatar decoration SKU ID, if present.

バージョン 2.4 で追加.

Optional[int]

property default_avatar

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

Asset

property display_avatar

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

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

バージョン 2.0 で追加.

Asset

mentioned_in(message)

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

パラメータ

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

戻り値

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

戻り値の型

bool

PrivateChannel

Attributes
class discord.abc.PrivateChannel

Discordのプライベートチャンネルの一般的な操作を説明するABC。

以下のクラスがこのABCを実装しています:

この抽象基底クラスは Snowflake も実装しなければなりません。

me

あなた自身を示すユーザー。

ClientUser

GuildChannel

class discord.abc.GuildChannel

Discordのギルドチャンネルに共通する処理を説明するABC。

以下のクラスがこのABCを実装しています:

この抽象基底クラスは Snowflake も実装しなければなりません。

name

チャンネル名。

str

guild

チャンネルが属するギルド。

Guild

position

チャンネルリストにおける位置。これは0から始まる番号で、最も上のチャンネルの位置は0です。

int

property changed_roles

roles 属性にて指定されたデフォルト値から上書きされたロールのリストを返します。

List[Role]

property mention

チャンネルにメンションするための文字列。

str

property jump_url

クライアントがこのチャンネルにジャンプすることのできるURLを返します。

バージョン 2.0 で追加.

str

property created_at

チャンネルの作成された時間をUTCで返します。

datetime.datetime

overwrites_for(obj)

メンバーまたはロール固有の上書きされたリストを返します

パラメータ

obj (Union[Role, User, Object]) -- 上書きの対象となるロールやユーザー。

戻り値

そのオブジェクトの権限の上書き。

戻り値の型

PermissionOverwrite

property overwrites

チャンネルの上書きをすべて返します。

これは、 RoleMember のターゲットをキーとし、 PermissionOverwrite を値とする辞書型として返されます。

バージョン 2.0 で変更: キャッシュ取得に失敗した場合、上書きが型付きの Object になるようになりました。

戻り値

チャンネルの権限の上書き。

戻り値の型

Dict[Union[Role, Member, Object], PermissionOverwrite]

property category

チャンネルが属するカテゴリ。

カテゴリがない場合は None になります。

Optional[CategoryChannel]

property permissions_synced

チャンネルの権限が属するカテゴリと同期されているかどうか。

カテゴリがない場合は False になります。

バージョン 1.3 で追加.

bool

permissions_for(obj, /)

MemberRole の権限を解決します。

これは以下を考慮します:

  • サーバーの所有者

  • サーバーにあるロール

  • チャンネルの上書き

  • メンバーの上書き

  • 自動で処理される権限

  • メンバーのタイムアウト

Role が渡された場合、そのロールを持つ人が持つべき権限を確認します。つまり:

  • デフォルトのロールの権限

  • パラメータとして使用されるロールの権限

  • デフォルトのロールの権限の上書き

  • パラメータとして使用されるロールの権限の上書き

バージョン 2.0 で変更: ロールを渡すことができるようになりました。

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

パラメータ

obj (Union[Member, Role]) -- 権限を解決すべきオブジェクト。これはメンバーかロールです。ロールの場合メンバーの上書きは判断しません。

戻り値

メンバーまたはロールの解決された権限。

戻り値の型

Permissions

await delete(*, reason=None)

This function is a coroutine.

チャンネルを削除します。

これを行うには manage_channels が必要です。

パラメータ

reason (Optional[str]) -- チャンネルを削除する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを削除するのに必要な権限がない場合。

  • NotFound -- チャンネルが見つからないか、すでに削除されていた場合。

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

await set_permissions(target, *, overwrite=see - below, reason=None, **permissions)

This function is a coroutine.

ある対象に対して特定のチャンネルでの権限の上書きを設定します。

target パラメータは当該ギルドに属する MemberRole であるべきです。

overwrite パラメータを渡す場合は、それは None か、 PermissionOverwrite でないといけません。利便性のため、 Permissions の属性を示すキーワード引数を渡すこともできます。これと overwrite パラメータは同時に使用できません。

overwrite パラメータが None の場合は権限の上書きは削除されます。

これを行うには manage_roles が必要です。

注釈

これは、以前の上書きを与えられたもので 置き換えます

サンプル

許可と拒否の設定:

await message.channel.set_permissions(message.author, read_messages=True,
                                                      send_messages=False)

上書きの削除

await channel.set_permissions(member, overwrite=None)

PermissionOverwrite を使用します

overwrite = discord.PermissionOverwrite()
overwrite.send_messages = False
overwrite.read_messages = True
await channel.set_permissions(member, overwrite=overwrite)

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

パラメータ
  • target (Union[Member, Role]) -- 権限を上書きするメンバーかロール。

  • overwrite (Optional[PermissionOverwrite]) -- 対象に対して許可し、または拒否する権限。 None を渡すと上書きを削除できます。

  • **permissions -- 設定すべき権限のキーワード引数リスト。これは overwrite と同時に使用できません。

  • reason (Optional[str]) -- アクションを実行する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルの権限を編集するための権限がない場合。

  • HTTPException -- チャンネルの権限を編集するのに失敗した場合。

  • NotFound -- 編集中のロールやメンバーがギルドに属さない場合。

  • TypeError -- overwrite パラメータが無効か、対象が RoleMember でなかった場合。

  • ValueError -- overwrite パラメータと positions パラメータの両方とも指定されていなかった場合。

await clone(*, name=None, reason=None)

This function is a coroutine.

チャンネルをクローンします。これはそのチャンネルと同じ属性を持つチャンネルを作成します。

これを行うには manage_channels が必要です。

バージョン 1.1 で追加.

パラメータ
  • name (Optional[str]) -- 新しいチャンネルの名前。渡されない場合はこのチャンネルの名前が使用されます。

  • reason (Optional[str]) -- チャンネルを複製する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

戻り値

作成されたチャンネル。

戻り値の型

abc.GuildChannel

await move(**kwargs)

This function is a coroutine.

チャンネルを他のチャンネルと相対的に移動させるのに役立つインターフェイスです。

正確に位置を移動させる場合は、代わりに edit を使用する必要があります。

これを行うには manage_channels が必要です。

注釈

ボイスチャンネルは常にテキストチャンネルの下にソートされます。これはDiscordの制限です。

バージョン 1.7 で追加.

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

パラメータ
  • beginning (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の先頭に移動させるかどうかを指定します。これは、 end, before, after とは互いに排他的です。

  • end (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の末尾に移動するかどうかを指定します。これは beginning, before, after とは互いに排他的です。

  • before (Snowflake) -- このチャンネルの前にあるべきチャンネル。これと beginningendafter は同時に使用できません。

  • after (Snowflake) -- このチャンネルの後にあるべきチャンネル。これと beginningendbefore は同時に使用できません。

  • offset (int) -- 移動のオフセット。たとえば、 beginning=True の場合にてオフセットが 2 ならば、チャンネルは始めから2つ分の場所に動きます。正の整数を渡すと下に、負の整数を渡すと上に動きます。この数は相対的で beginningendbeforeafter パラメータの後に計算されます。

  • category (Optional[Snowflake]) -- チャンネルの移動先のカテゴリ。 None を渡した場合はチャンネルはカテゴリに属さなくなります。このパラメータはカテゴリチャンネルの場合は無視されます。

  • sync_permissions (bool) -- (カテゴリが指定されている場合に)権限を同期すべきか。

  • reason (str) -- 移動の理由。

例外
  • ValueError -- 位置が無効な場合。

  • TypeError -- 同時に指定できない引数らが同時に指定された場合。

  • Forbidden -- チャンネルを移動する権限がない場合。

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

await create_invite(*, reason=None, max_age=0, max_uses=0, temporary=False, unique=True, target_type=None, target_user=None, target_application_id=None)

This function is a coroutine.

テキストやボイスチャンネルから招待を作成します。

これを行うには、 create_instant_invite が必要です。

パラメータ
  • max_age (int) -- 招待の有効期限の秒単位の長さ。0の場合、招待は期限切れにはなりません。これはデフォルトでは 0 になります。

  • max_uses (int) -- 招待の使用回数の制限。もしこれが0なら、招待を無制限に使用することができます。デフォルトではこれは 0 になります。

  • temporary (bool) -- 一時的なメンバーとして招待するかを示しています。(つまり、招待されたメンバーは、特定のロールを付与されない限り、Discordを切断するときキックされます。)デフォルトは False です。

  • unique (bool) -- 新しい招待URLを作成すべきか示します。既定ではTrueです。これが False に指定された場合は、前に作成された招待を返します。

  • reason (Optional[str]) -- 招待を作成する理由。監査ログに表示されます。

  • target_type (Optional[InviteTarget]) --

    ボイスチャンネル招待の対象の種類。

    バージョン 2.0 で追加.

  • target_user (Optional[User]) --

    この招待に表示すべきストリームのユーザー。 target_typeInviteTarget.stream の場合必須です。このユーザーはチャンネル内でストリームしていないといけません。

    バージョン 2.0 で追加.

  • target_application_id: --

    Optional[int]: 招待に紐づいた埋め込みアプリケーションのID。 target_typeInviteTarget.embedded_application の場合必須です。

    バージョン 2.0 で追加.

例外
  • HTTPException -- 招待の作成に失敗した場合。

  • NotFound -- カテゴリや不正なチャンネルが渡された場合。

戻り値

作成された招待。

戻り値の型

Invite

await invites()

This function is a coroutine.

このチャンネルから作成された全てのアクティブなインスタント招待のリストを返します。

この情報を取得するためには、 manage_channels 権限を持っている必要があります。

例外
  • Forbidden -- 適切な権限を有していない場合。

  • HTTPException -- 情報取得中にエラーが発生した場合。

戻り値

現時点でアクティブな招待のリスト。

戻り値の型

List[Invite]

Messageable

Methods
class discord.abc.Messageable

メッセージを送信できるモデルに共通する操作を説明するABC。

以下のクラスがこのABCを実装しています:

async with typing()

入力インジケーターを宛先に無期限で、または await で呼び出された場合10秒間表示できるようにする非同期コンテキストマネージャーを返します。

使用例:

async with channel.typing():
    # simulate something heavy
    await asyncio.sleep(20)

await channel.send('Done!')

使用例:

await channel.typing()
# Do some computational magic for about 10 seconds
await channel.send('Done!')

バージョン 2.0 で変更: これは with 構文で動作せず、代わりに async with を使用しないといけないように変更されました。

バージョン 2.0 で変更: コンテキストマネージャーを await して入力インジケーターを10秒間送信する機能を追加しました。

await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, silent=False)

This function is a coroutine.

指定された内容のメッセージを宛先に送信します。

contentは、 str(content) によって文字列に変換が可能である必要があります。もしcontentに None (デフォルト) を指定するなら、 embed パラメータを設定する必要があります。

単一のファイルをアップロードするには、 file パラメータに File オブジェクトを指定する必要があります。複数のファイルをアップロードするには、 files パラメータに File オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

単一の埋め込みを送信するには、 embed パラメータに Embed オブジェクトを指定する必要があります。複数の埋め込みを送信するには、 embeds パラメータに Embed オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

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

パラメータ
  • content (Optional[str]) -- 送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) --

    送信する埋め込みのリスト。最大10個まで送信できます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • nonce (int) -- メッセージの送信時に使用するナンス値。メッセージが正常に送信された場合、このメッセージには指定されたナンス値が含まれます。

  • delete_after (float) -- 指定したなら、これはメッセージを送信したあと待機し、すぐ削除する秒数となります。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (AllowedMentions) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • reference (Union[Message, MessageReference, PartialMessage]) --

    返信する Message への参照。これは、 to_reference() を使用して作成することができ、また Message を直接渡すこともできます。これが返信元のメッセージの投稿者をメンションすべきかは、 allowed_mentionsreplied_user 属性や、 mention_author パラメータで制御できます。

    バージョン 1.6 で追加.

  • mention_author (Optional[bool]) --

    設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

    バージョン 1.6 で追加.

  • view (discord.ui.View) --

    メッセージに追加するDiscord UI ビュー。

    バージョン 2.0 で追加.

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) --

    送信するスタンプのリスト。最大3個まで送信できます。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、 embedembeds の両方が指定された場合、または referenceMessageMessageReferencePartialMessage でない場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

await fetch_message(id, /)

This function is a coroutine.

宛先から、単一の Message を取得します。

パラメータ

id (int) -- 探すメッセージのID。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

要求されたメッセージ。

戻り値の型

Message

await pins()

This function is a coroutine.

現時点でチャンネルにピン留めされている全てのメッセージを取得します。

注釈

Discord APIの制限により、このメソッドの返した Message オブジェクトには、完全な Message.reactions のデータが含まれていません。

例外
  • Forbidden -- ピン留めされたメッセージの取得に必要な権限がない場合。

  • HTTPException -- ピン留めされたメッセージの取得に失敗した場合。

戻り値

現時点でピン留めされているメッセージ。

戻り値の型

List[Message]

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)

チャンネルのメッセージ履歴を取得する asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

サンプル

使い方

counter = 0
async for message in channel.history(limit=200):
    if message.author == client.user:
        counter += 1

リストにフラット化:

messages = [message async for message in channel.history(limit=123)]
# messages is now a list of Message...

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

パラメータ
  • limit (Optional[int]) -- 取得するメッセージの数。 None の場合、チャンネル内のメッセージすべてを取得します。ただし、これには時間がかかります。

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

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

  • around (Optional[Union[Snowflake, datetime.datetime]]) -- 渡された日付、またはメッセージあたりのメッセージを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。この引数を使用するときは、取得できる最大のメッセージ数は101個です。もし制限が偶数の場合は最大でそれに1を加えた分だけ返します。

  • oldest_first (Optional[bool]) -- True の場合、古いものから新しいものの順でメッセージを返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

例外
  • Forbidden -- メッセージ履歴を読む権限が無い場合。

  • HTTPException -- メッセージ履歴の取得に失敗した場合。

列挙

Message -- メッセージデータをパースしたメッセージ。

Connectable

Methods
class discord.abc.Connectable

ボイスサーバーに接続できるチャンネルに共通する操作を説明するABC。

以下のクラスがこのABCを実装しています:

await connect(*, timeout=30.0, reconnect=True, cls=<class 'discord.voice_client.VoiceClient'>, self_deaf=False, self_mute=False)

This function is a coroutine.

ボイスに接続し VoiceClient を作成してボイスサーバーへの接続を確立します。

voice_states が必要です。

パラメータ
  • timeout (float) -- The timeout in seconds to wait the connection to complete.

  • reconnect (bool) -- ハンドシェイクの一部が失敗し、またはゲートウェイが使用できない場合に、ボットが自動で再接続を試みるべきか。

  • cls (Type[VoiceProtocol]) -- VoiceProtocol をサブクラスする型。既定値は VoiceClient

  • self_mute (bool) --

    クライアントをセルフミュートすべきか。

    バージョン 2.0 で追加.

  • self_deaf (bool) --

    クライアントをセルフスピーカーミュートすべきか。

    バージョン 2.0 で追加.

例外
  • asyncio.TimeoutError -- 時間内にボイスチャンネルに接続できなかった場合。

  • ClientException -- すでにボイスチャンネルに接続している場合。

  • OpusNotLoaded -- opusライブラリが読み込まれていない場合。

戻り値

ボイスサーバーに完全に接続されたボイスクライアント。

戻り値の型

VoiceProtocol

Discordモデル

モデルはDiscordから受け取るクラスであり、ユーザーによって作成されることを想定していません。

危険

下記のクラスは、 ユーザーによって作成されることを想定しておらず 、中には 読み取り専用 のものもあります。

つまり、独自の User を作成したりするべきではなく、また、 User インスタンスの値の変更もするべきではありません。

このようなモデルクラスのインスタンスを取得したい場合は、 キャッシュを経由して取得する必要があります。一般的な方法としては utils.find() 関数を用いるか、 イベントリファレンス の特定のイベントから受け取る方法が挙げられます。

注釈

ほぼすべてのクラスに __slots__ が定義されています。つまり、データクラスに動的に変数を追加することは不可能です。

ClientUser

class discord.ClientUser

あなたのDiscordユーザー。

x == y

二つのユーザーが等しいかを比較します。

x != y

二つのユーザーが等しいものではないか比較します。

hash(x)

ユーザーのハッシュ値を返します。

str(x)

ユーザーのハンドル(例えば namename#discriminator など)を返します。

name

ユーザー名。

str

id

ユーザーのユニークなID。

int

discriminator

ユーザーのタグ。これは、現在は使用されていない、過去の遺物です。

str

global_name

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

バージョン 2.3 で追加.

Optional[str]

bot

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

bool

system

ユーザーがシステムユーザーかどうかを示します。(つまり、Discord公式を表しているかどうか。)

バージョン 1.3 で追加.

bool

verified

ユーザーのメールアドレスが確認されているかどうかを示します。

bool

locale

ユーザーが使用している言語を識別するためのIETF言語タグ。

Optional[str]

mfa_enabled

ユーザーが多段階認証を使用しているかを示します。

bool

await edit(*, username=..., avatar=..., banner=...)

This function is a coroutine.

現在のクライアントのプロフィールを編集します。

注釈

アバターをアップロードする際には、アップロードする画像を表す bytes-like object を渡す必要があります。これをファイルを介して行う場合、ファイルを open('some_filename', 'rb') で開き、 bytes-like objectfp.read() で取得できます。

バージョン 2.0 で変更: 編集はクライアントユーザーを置き換えず、編集された新しいクライアントユーザーが返されるようになりました。

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

パラメータ
  • username (str) -- 変更する際の新しいユーザー名。

  • avatar (Optional[bytes]) -- A bytes-like object representing the image to upload. Could be None to denote no avatar. Only image formats supported for uploading are JPEG, PNG, GIF, and WEBP.

  • banner (Optional[bytes]) --

    A bytes-like object representing the image to upload. Could be None to denote no banner. Only image formats supported for uploading are JPEG, PNG, GIF and WEBP.

    バージョン 2.4 で追加.

例外
  • HTTPException -- プロフィールの編集に失敗した場合。

  • ValueError -- avatar に渡された画像のフォーマットが間違っている場合。

戻り値

新しく編集されたクライアントユーザー。

戻り値の型

ClientUser

property mutual_guilds

ユーザーがクライアントと共有するギルド。

注釈

クライアントの内部キャッシュ内に存在する共通のサーバーのみが返されます。

バージョン 1.7 で追加.

List[Guild]

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

User

class discord.User

Discordユーザー。

x == y

二つのユーザーが等しいかを比較します。

x != y

二つのユーザーが等しいものではないか比較します。

hash(x)

ユーザーのハッシュ値を返します。

str(x)

ユーザーのハンドル(例えば namename#discriminator など)を返します。

name

ユーザー名。

str

id

ユーザーのユニークなID。

int

discriminator

ユーザーのタグ。これは、現在は使用されていない、過去の遺物です。

str

global_name

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

バージョン 2.3 で追加.

Optional[str]

bot

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

bool

system

ユーザーがシステムユーザーかどうかを示します。(つまり、Discord公式を表しているかどうか。)

bool

async with typing()

入力インジケーターを宛先に無期限で、または await で呼び出された場合10秒間表示できるようにする非同期コンテキストマネージャーを返します。

使用例:

async with channel.typing():
    # simulate something heavy
    await asyncio.sleep(20)

await channel.send('Done!')

使用例:

await channel.typing()
# Do some computational magic for about 10 seconds
await channel.send('Done!')

バージョン 2.0 で変更: これは with 構文で動作せず、代わりに async with を使用しないといけないように変更されました。

バージョン 2.0 で変更: コンテキストマネージャーを await して入力インジケーターを10秒間送信する機能を追加しました。

property dm_channel

存在する場合は、そのユーザーに関連付けられたチャンネルを返します。

これが None を返すなら、あなたは create_dm() コルーチン関数を使って、DMチャンネルを作ることができます。

Optional[DMChannel]

property mutual_guilds

ユーザーがクライアントと共有するギルド。

注釈

クライアントの内部キャッシュ内に存在する共通のサーバーのみが返されます。

バージョン 1.7 で追加.

List[Guild]

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

await create_dm()

This function is a coroutine.

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

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

戻り値

作成されたチャンネル。

戻り値の型

DMChannel

property created_at

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

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

datetime.datetime

property default_avatar

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

Asset

property display_avatar

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

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

バージョン 2.0 で追加.

Asset

property display_name

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

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

str

await fetch_message(id, /)

This function is a coroutine.

宛先から、単一の Message を取得します。

パラメータ

id (int) -- 探すメッセージのID。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

要求されたメッセージ。

戻り値の型

Message

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)

チャンネルのメッセージ履歴を取得する asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

サンプル

使い方

counter = 0
async for message in channel.history(limit=200):
    if message.author == client.user:
        counter += 1

リストにフラット化:

messages = [message async for message in channel.history(limit=123)]
# messages is now a list of Message...

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

パラメータ
  • limit (Optional[int]) -- 取得するメッセージの数。 None の場合、チャンネル内のメッセージすべてを取得します。ただし、これには時間がかかります。

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

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

  • around (Optional[Union[Snowflake, datetime.datetime]]) -- 渡された日付、またはメッセージあたりのメッセージを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。この引数を使用するときは、取得できる最大のメッセージ数は101個です。もし制限が偶数の場合は最大でそれに1を加えた分だけ返します。

  • oldest_first (Optional[bool]) -- True の場合、古いものから新しいものの順でメッセージを返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

例外
  • Forbidden -- メッセージ履歴を読む権限が無い場合。

  • HTTPException -- メッセージ履歴の取得に失敗した場合。

列挙

Message -- メッセージデータをパースしたメッセージ。

property mention

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

str

mentioned_in(message)

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

パラメータ

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

戻り値

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

戻り値の型

bool

await pins()

This function is a coroutine.

現時点でチャンネルにピン留めされている全てのメッセージを取得します。

注釈

Discord APIの制限により、このメソッドの返した Message オブジェクトには、完全な Message.reactions のデータが含まれていません。

例外
  • Forbidden -- ピン留めされたメッセージの取得に必要な権限がない場合。

  • HTTPException -- ピン留めされたメッセージの取得に失敗した場合。

戻り値

現時点でピン留めされているメッセージ。

戻り値の型

List[Message]

property public_flags

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

PublicUserFlags

await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, silent=False)

This function is a coroutine.

指定された内容のメッセージを宛先に送信します。

contentは、 str(content) によって文字列に変換が可能である必要があります。もしcontentに None (デフォルト) を指定するなら、 embed パラメータを設定する必要があります。

単一のファイルをアップロードするには、 file パラメータに File オブジェクトを指定する必要があります。複数のファイルをアップロードするには、 files パラメータに File オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

単一の埋め込みを送信するには、 embed パラメータに Embed オブジェクトを指定する必要があります。複数の埋め込みを送信するには、 embeds パラメータに Embed オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

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

パラメータ
  • content (Optional[str]) -- 送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) --

    送信する埋め込みのリスト。最大10個まで送信できます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • nonce (int) -- メッセージの送信時に使用するナンス値。メッセージが正常に送信された場合、このメッセージには指定されたナンス値が含まれます。

  • delete_after (float) -- 指定したなら、これはメッセージを送信したあと待機し、すぐ削除する秒数となります。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (AllowedMentions) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • reference (Union[Message, MessageReference, PartialMessage]) --

    返信する Message への参照。これは、 to_reference() を使用して作成することができ、また Message を直接渡すこともできます。これが返信元のメッセージの投稿者をメンションすべきかは、 allowed_mentionsreplied_user 属性や、 mention_author パラメータで制御できます。

    バージョン 1.6 で追加.

  • mention_author (Optional[bool]) --

    設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

    バージョン 1.6 で追加.

  • view (discord.ui.View) --

    メッセージに追加するDiscord UI ビュー。

    バージョン 2.0 で追加.

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) --

    送信するスタンプのリスト。最大3個まで送信できます。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、 embedembeds の両方が指定された場合、または referenceMessageMessageReferencePartialMessage でない場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

AutoMod

class discord.AutoModRule

自動管理ルールを表します。

バージョン 2.0 で追加.

id

ルールのID。

int

guild

ルールが属するギルド。

Guild

name

ルールの名前。

str

creator_id

ルールを作成したユーザーのID。

int

trigger

ルールの発動条件。

AutoModTrigger

enabled

ルールが有効かどうか。

bool

exempt_role_ids

このルールの除外対象のロールのID。

Set[int]

exempt_channel_ids

このルールの除外対象のチャンネルのID。

Set[int]

event_type

The type of event that will trigger the the rule.

AutoModRuleEventType

property creator

このルールを作成したメンバー。

Optional[Member]

exempt_roles

このルールの除外対象のロール。

List[Role]

exempt_channels

このルールの除外対象のチャンネル。

List[Union[abc.GuildChannel, Thread]]

actions

このルールの発動時の対応。

List[AutoModRuleAction]

is_exempt(obj, /)

オブジェクトが自動管理ルールから除外されているかどうかを確認します。

パラメータ

obj (abc.Snowflake) -- チェックするロール、チャンネル、またはスレッド。

戻り値

オブジェクトが自動管理ルールから除外されているかどうか。

戻り値の型

bool

await edit(*, name=..., event_type=..., actions=..., trigger=..., enabled=..., exempt_roles=..., exempt_channels=..., reason=...)

This function is a coroutine.

この自動管理ルールを編集します。

ルールを編集するには、 Permissions.manage_guild 権限が必要です。

パラメータ
  • name (str) -- 新しい名前。

  • event_type (AutoModRuleEventType) -- 新しいイベントの種類。

  • actions (List[AutoModRuleAction]) -- 新しいルールの対応。

  • trigger (AutoModTrigger) -- 新しい発動条件。種類は変更できず、メタデータのみ変更できます。

  • enabled (bool) -- ルールを有効化するか。

  • exempt_roles (Sequence[abc.Snowflake]) -- ルールの除外対象とする新しいロール。

  • exempt_channels (Sequence[abc.Snowflake]) -- ルールの除外対象とする新しいチャンネル。

  • reason (str) -- ルールを編集する理由。監査ログに表示されます。

例外
  • Forbidden -- ルールを編集する権限がない場合。

  • HTTPException -- ルールの編集に失敗した場合。

戻り値

更新された自動管理ルール。

戻り値の型

AutoModRule

await delete(*, reason=...)

This function is a coroutine.

自動管理ルールを削除します。

ルールを削除するには、 Permissions.manage_guild 権限が必要です。

パラメータ

reason (str) -- ルールを削除する理由。監査ログに表示されます。

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

  • HTTPException -- ルールの削除に失敗した場合。

class discord.AutoModAction

自動管理ルールの結果として取られた対応を表します。

バージョン 2.0 で追加.

action

行われた対応。

AutoModRuleAction

message_id

この対応がとられたメッセージのID。これは、対応が編集されたメッセージに対し行われた場合のみ利用可能です。

Optional[int]

rule_id

発動されたルールのID。

int

rule_trigger_type

発動されたルールの発動条件の種類。

AutoModRuleTriggerType

guild_id

ルールが発動されたギルドのID。

int

user_id

ルールを発動させたユーザーのID。

int

channel_id

ルールが発動されたチャンネルのID。

int

alert_system_message_id

事前に指定されたアラートチャンネルに送信されたシステムメッセージのID。

Optional[int]

content

ルールを発動させたメッセージの内容。 Intents.message_content が必要で、ない場合は空文字列を返します。

str

matched_keyword

発動させたメッセージ内のマッチしたキーワード。

Optional[str]

matched_content

ルールを発動させたメッセージのマッチした内容。 Intents.message_content が必要で、ない場合は None を返します。

Optional[str]

property guild

この対応がとられたギルド。

Guild

property channel

この対応がとられたチャンネル。

Optional[Union[abc.GuildChannel, Thread]]

property member

対応が行われた/ルールを発動させたメンバー。

Optional[Member]

await fetch_rule()

This function is a coroutine.

対応がとられたルールを取得します。

これを行うには、 Permissions.manage_guild が必要です。

例外
  • Forbidden -- ルールを取得する権限がない場合。

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

戻り値

発動されたルール。

戻り値の型

AutoModRule

Attachment

class discord.Attachment

Discordの添付ファイル。

str(x)

添付ファイルの URL を返します。

x == y

添付ファイルが別の添付ファイルと等しいか確認します。

x != y

添付ファイルが別の添付ファイルと等しくないか確認します。

hash(x)

添付ファイルの ハッシュ を返します。

バージョン 1.7 で変更: 添付ファイルが str にキャスト可能になり、ハッシュ可能になりました。

id

添付ファイルのID。

int

size

添付ファイルのサイズを、バイトで返します。

int

height

添付ファイルの縦幅をピクセル単位で返します。これは画像と動画にのみ適用されます。

Optional[int]

width

添付ファイルの横幅をピクセル単位で返します。これは画像と動画にのみ適用されます。

Optional[int]

filename

添付ファイルのファイル名。

str

url

添付ファイルのURL。この添付ファイルが添付されたメッセージが削除された場合、これは404になります。

str

proxy_url

プロキシURL。これは画像の場合は url のキャッシュ版です。メッセージが削除された場合、このURLは数分間は利用できるかもしれませんし、利用できないかもしれません。

str

content_type

添付ファイルの メディアタイプ

バージョン 1.7 で追加.

Optional[str]

description

添付ファイルの説明。画像にのみ適用されます。

バージョン 2.0 で追加.

Optional[str]

ephemeral

添付ファイルが一時的であるかどうか。

バージョン 2.0 で追加.

bool

duration

音声ファイルの秒単位の長さ。ボイスメッセージでない場合 None を返します。

バージョン 2.3 で追加.

Optional[float]

waveform

音声の波形(振幅)をバイト単位で返します。ボイスメッセージでない場合は None を返します。

バージョン 2.3 で追加.

Optional[bytes]

property flags

The attachment's flags.

AttachmentFlags

is_spoiler()

bool: この添付ファイルにスポイラーが含まれているかどうか。

is_voice_message()

bool: 添付ファイルがボイスメッセージであるかどうか。

await save(fp, *, seek_begin=True, use_cached=False)

This function is a coroutine.

この添付ファイルをファイルライクオブジェクトに保存します。

パラメータ
  • fp (Union[io.BufferedIOBase, os.PathLike]) -- この添付ファイルを保存するファイルライクオブジェクト、または使用するファイル名。 ファイル名が渡された場合、そのファイル名でファイルが作成され、代わりに使用されます。

  • seek_begin (bool) -- 正常に保存した後にファイルの先頭にシークすべきか。

  • use_cached (bool) -- 添付ファイルのダウンロード時に url の代わりに proxy_url を使用すべきか。これを使うと、一般的にメッセージの削除直後に削除される通常のURLと比較して、削除後の添付ファイルの保存がより頻繁にできるようになります。なお、時間がたつと削除された添付ファイルのダウンロードに失敗することがあり、添付ファイルの種類によっては動かないことがあります。

例外
  • HTTPException -- 添付ファイルの保存に失敗した場合。

  • NotFound -- 添付ファイルが削除された場合。

戻り値

書き込まれたバイト数。

戻り値の型

int

await read(*, use_cached=False)

This function is a coroutine.

この添付ファイルの内容を bytes オブジェクトとして取得します。

バージョン 1.1 で追加.

パラメータ

use_cached (bool) -- 添付ファイルのダウンロード時に url の代わりに proxy_url を使用すべきか。これを使うと、一般的にメッセージの削除直後に削除される通常のURLと比較して、削除後の添付ファイルの保存がより頻繁にできるようになります。なお、時間がたつと削除された添付ファイルのダウンロードに失敗することがあり、添付ファイルの種類によっては動かないことがあります。

例外
  • HTTPException -- 添付ファイルのダウンロードに失敗した場合。

  • Forbidden -- この添付ファイルにアクセスする権限がない場合。

  • NotFound -- 添付ファイルが削除された場合。

戻り値

添付ファイルの内容。

戻り値の型

bytes

await to_file(*, filename=..., description=..., use_cached=False, spoiler=False)

This function is a coroutine.

この添付ファイルを abc.Messageable.send() で送信できる File に変換します。

バージョン 1.3 で追加.

パラメータ
  • filename (Optional[str]) --

    ファイルに使用するファイル名。指定しない場合は、添付ファイルのファイル名が代わりに使用されます。

    バージョン 2.0 で追加.

  • description (Optional[str]) --

    ファイルに使用する説明。指定しない場合は、添付ファイルの説明が代わりに使用されます。

    バージョン 2.0 で追加.

  • use_cached (bool) --

    添付ファイルのダウンロード時に url の代わりに proxy_url を使用すべきか。これを使うと、一般的にメッセージの削除直後に削除される通常のURLと比較して、削除後の添付ファイルの保存がより頻繁にできるようになります。なお、時間がたつと削除された添付ファイルのダウンロードに失敗することがあり、添付ファイルの種類によっては動かないことがあります。

    バージョン 1.4 で追加.

  • spoiler (bool) --

    このファイルがスポイラーを含むか。

    バージョン 1.4 で追加.

例外
  • HTTPException -- 添付ファイルのダウンロードに失敗した場合。

  • Forbidden -- この添付ファイルにアクセスする権限がない場合。

  • NotFound -- 添付ファイルが削除された場合。

戻り値

送信に適したファイルに変換された添付ファイル。

戻り値の型

File

Asset

Attributes
class discord.Asset

DiscordのCDNアセット。

str(x)

CDNアセットのURLを返します。

len(x)

CDNアセットのURLの長さを返します。

x == y

アセットが別のアセットと等しいか確認します。

x != y

アセットが別のアセットと等しくないか確認します。

hash(x)

アセットの ハッシュ を返します。

property url

アセットのURLを返します。

str

property key

アセットの識別キーを返します。

str

is_animated()

bool: アセットがアニメーションされているかどうかを返します。

replace(*, size=..., format=..., static_format=...)

渡された部分を置き換えた新しいアセットを返します。

バージョン 2.0 で変更: static_formatformat が両方存在してアセットがアニメーション付きでない場合に前者が優先されるようになりました。

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

パラメータ
  • size (int) -- アセットの新しいサイズ。

  • format (str) -- 変更後のフォーマット。'webp' 、 'jpeg' 、 'jpg' 、 'png' 、またはアニメーション付きの場合には 'gif' のいずれかである必要があります。

  • static_format (str) -- アセットがアニメーションされていない場合の変更後のフォーマット。'webp'、'jpeg'、'jpg'、'png'のいずれかである必要があります。

例外

ValueError -- 不正な大きさまたはフォーマットが渡された場合。

戻り値

新しく更新されたアセット。

戻り値の型

Asset

with_size(size, /)

指定されたサイズの新しいアセットを返します。

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

パラメータ

size (int) -- アセットの新しいサイズ。

例外

ValueError -- アセットのサイズが無効な場合。

戻り値

新しく更新されたアセット。

戻り値の型

Asset

with_format(format, /)

指定されたフォーマットの新しいアセットを返します。

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

パラメータ

format (str) -- アセットの新しいフォーマット。

例外

ValueError -- アセットのフォーマットが無効な場合。

戻り値

新しく更新されたアセット。

戻り値の型

Asset

with_static_format(format, /)

指定された静的フォーマットの新しいアセットを返します。

これは、アセットがアニメーションを含まない場合のみフォーマットを変更します。それ以外の場合はアセットは変更されません。

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

パラメータ

format (str) -- アセットの新しい静的フォーマット。

例外

ValueError -- アセットのフォーマットが無効な場合。

戻り値

新しく更新されたアセット。

戻り値の型

Asset

await read()

This function is a coroutine.

このアセットの内容を bytes オブジェクトとして取得します。

例外
  • DiscordException -- 内部の接続ステートが存在しない場合。

  • HTTPException -- アセットのダウンロードに失敗した場合。

  • NotFound -- アセットが削除された場合。

戻り値

アセットの内容。

戻り値の型

bytes

await save(fp, *, seek_begin=True)

This function is a coroutine.

このアセットをファイルライクオブジェクトに保存します。

パラメータ
  • fp (Union[io.BufferedIOBase, os.PathLike]) -- このアセットの保存先となるファイルのようなオブジェクト、または使用するファイル名。ファイル名を指定すると、そのファイル名でファイルが作成され、代わりに使用されます。

  • seek_begin (bool) -- 正常に保存した後にファイルの先頭にシークすべきか。

例外
  • DiscordException -- 内部の接続ステートが存在しない場合。

  • HTTPException -- アセットのダウンロードに失敗した場合。

  • NotFound -- アセットが削除された場合。

戻り値

書き込まれたバイト数。

戻り値の型

int

await to_file(*, filename=..., description=None, spoiler=False)

This function is a coroutine.

アセットを abc.Messageable.send() を介して送信するのに適した File に変換します。

バージョン 2.0 で追加.

パラメータ
  • filename (Optional[str]) -- ファイルのファイル名。指定されていない場合は、アセットのURL由来のファイル名が使用されます。

  • description (Optional[str]) -- ファイルの説明。

  • spoiler (bool) -- このファイルがスポイラーを含むか。

例外
  • DiscordException -- アセットにステートが付属していない場合。

  • ValueError -- アセットがユニコード絵文字である場合。

  • TypeError -- アセットがロッティータイプのスタンプであった場合。

  • HTTPException -- アセットのダウンロードに失敗した場合。

  • NotFound -- アセットが削除された場合。

戻り値

送信に適したファイルとしてのアセット。

戻り値の型

File

Message

class discord.Message

Discordのメッセージ。

x == y

二つのメッセージが等しいかを比較します。

x != y

二つのメッセージが等しくないかを比較します。

hash(x)

メッセージのハッシュ値を返します。

tts

メッセージが音声合成で行われたかどうかを指定します。これはDiscordの制約上 on_message() でのみ正確に受信できます。

bool

type

メッセージの種類。ほとんどの場合これを確認する必要はありませんが、システムメッセージの場合に system_content を確認するのに便利です。

MessageType

author

メッセージを送信した Member 。もし channel がプライベートチャンネルだったり、ユーザーがギルドを脱退した場合は、これは代わりに User になります。

Union[Member, abc.User]

content

メッセージの実際の内容。 Intents.message_content が有効化されていない場合は、ボットがメンションされている場合とDMである場合を除き、これは常に空文字列となります。

str

nonce

Discordのギルドとクライアントがメッセージが正常に送信されたことを検証するのに使用する値。これはDiscordサーバーに長期間保管されるものではなく、一時的に使用されるだけです。

Optional[Union[str, int]]

embeds

メッセージの埋め込みのリスト。 Intents.message_content が有効化されていない場合は、ボットがメンションされている場合とDMである場合を除き、これは常に空文字列となります。

List[Embed]

channel

メッセージの送信された TextChannelThread 。もしメッセージがプライベートチャンネルで送信されたなら、これは DMChannelGroupChannel になります。

Union[TextChannel, StageChannel, VoiceChannel, Thread, DMChannel, GroupChannel, PartialMessageable]

reference

このメッセージが参照するメッセージ。これは、種類が MessageType.pins_add のメッセージ、チャンネルのフォローによってクロスポストされたメッセージ、または返信のメッセージのみに適用されます。

バージョン 1.5 で追加.

Optional[MessageReference]

mention_everyone

メッセージに、全員に対するメンションが含まれているかどうか。

注釈

これは、メッセージ内に @everyone@here テキストが含まれているどうかをチェックするわけではありません。このブール値は、メッセージに @everyone@here が含まれていて、それが最終的に全員に対するメンションになったかを示しています。

bool

mentions

メンションされた Member のリスト。もしメッセージがプライベートチャンネル内のメッセージなら、このリストは代わりに User のリストになります。もしメッセージのtypeが MessageType.default でないなら、このリストはシステムメッセージを支援するために使えます。詳しい情報は、system_content を参照してください。

警告

メンションのリストにおける順序は特定の順序ではないので、順序には依存しないでください。これはライブラリによる制限ではなく、Discord側による制限です。

List[abc.User]

channel_mentions

メンションされた abc.GuildChannelThread のリスト。もしメッセージがプライベートチャンネル内のものなら、このリストは常に空になります。

List[Union[abc.GuildChannel, Thread]]

role_mentions

メンションされた Role のリスト。もしメッセージがプライベートチャンネル内のものなら、このリストは常に空になります。

List[Role]

id

メッセージのID。

int

webhook_id

もしメッセージがWebhookによって送信されたなら、これはメッセージを送信したWebhookのIDです。

Optional[int]

attachments

メッセージの添付ファイルのリスト。 Intents.message_content が有効化されていない場合は、ボットがメンションされている場合とDMである場合を除き、これは常に空文字列となります。

List[Attachment]

pinned

メッセージが現時点でピン留めされているか。

bool

flags

メッセージの追加機能。

バージョン 1.3 で追加.

MessageFlags

reactions

メッセージに付けられたリアクション。リアクションはギルドのカスタム絵文字か、標準のユニコード絵文字かのどちらかです。

List[Reaction]

activity

このメッセージに関連付けられたアクティビティ。リッチプレゼンスに関連するメッセージとともに送信されます。たとえば、参加リクエスト、観戦、音楽へのリスニングや他のメンバーとのリスニングなどです。

以下のオプションのキーを含む辞書です。

  • type: リクエストされたメッセージのアクティビティの種類を示す整数。

  • party_id: パーティーに関連付けられたパーティーID。

Optional[dict]

application

メッセージに関連付けられたリッチプレゼンスが有効化されたアプリケーション。

バージョン 2.0 で変更: 型が dict から MessageApplication に変更されました。

Optional[MessageApplication]

stickers

メッセージのスタンプアイテムのリスト。

バージョン 1.6 で追加.

List[StickerItem]

components

メッセージ内のコンポーネントのリスト。 Intents.message_content が有効化されていない場合は、ボットがメンションされている場合とDMである場合を除き、これは常に空文字列となります。

バージョン 2.0 で追加.

List[Union[ActionRow, Button, SelectMenu]]

interaction

このメッセージの応答先のインタラクション。

バージョン 2.0 で追加.

Optional[MessageInteraction]

role_subscription

MessageType.role_subscription_purchase メッセージを促すきっかけとなったロールサブスクリプションの購入または更新のデータ。

バージョン 2.2 で追加.

Optional[RoleSubscriptionInfo]

application_id

このメッセージがアプリケーション所有のWebhookまたはインタラクションによって送信された場合、そのアプリケーションのID。

バージョン 2.2 で追加.

Optional[int]

position

スレッド内のメッセージのおおよその位置を示す、ほとんどの場合に順に増加し、時々間や重複のある整数値。

バージョン 2.2 で追加.

Optional[int]

guild

もしメッセージがギルドに属しているなら、これはメッセージの属しているギルドです。

Optional[Guild]

await add_reaction(emoji, /)

This function is a coroutine.

メッセージにリアクションを追加します。

絵文字はユニコード絵文字かカスタムギルド絵文字の Emoji でないといけません。

これを行うためには、そのチャンネルにて read_message_history が必要です。 もし、他の人がその絵文字でリアクションしていない場合、さらに add_reactions が必要です。

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

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

パラメータ

emoji (Union[Emoji, Reaction, PartialEmoji, str]) -- リアクションとして追加する絵文字。

例外
  • HTTPException -- リアクションの追加に失敗した場合。

  • Forbidden -- メッセージにリアクションを付けるのに必要な権限がない場合。

  • NotFound -- 指定された絵文字が見つからなかった場合。

  • TypeError -- emojiパラメータが無効の場合。

await clear_reaction(emoji)

This function is a coroutine.

メッセージから特定のリアクションを除去します。

絵文字はユニコード絵文字かカスタムギルド絵文字の Emoji でないといけません。

これを行うには、 manage_messages が必要です。

バージョン 1.3 で追加.

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

パラメータ

emoji (Union[Emoji, Reaction, PartialEmoji, str]) -- 除去する絵文字。

例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションを除去するのに必要な権限がない場合。

  • NotFound -- 指定された絵文字が見つからなかった場合。

  • TypeError -- emojiパラメータが無効の場合。

await clear_reactions()

This function is a coroutine.

メッセージからリアクションをすべて除去します。

これを行うには、 manage_messages が必要です。

例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションの除去に必要な権限を持っていない場合。

await create_thread(*, name, auto_archive_duration=..., slowmode_delay=None, reason=None)

This function is a coroutine.

メッセージからパブリックスレッドを作成します。

メッセージからパブリックスレッドを作成するには、 create_public_threads 権限が必要です。

このメッセージが属するチャンネルは、 TextChannel でなければなりません。

バージョン 2.0 で追加.

パラメータ
  • name (str) -- スレッドの名前。

  • auto_archive_duration (int) -- スレッドがチャンネルリストから自動的に非表示になるまでの分単位の時間。 指定されていない場合、チャンネルのデフォルトの自動アーカイブ期間が使用されます。指定された場合は、 6014404320 、または 10080 のいずれかでないといけません。

  • slowmode_delay (Optional[int]) -- このチャンネルの秒単位での低速モードレート制限。 最大値は 21600 です。デフォルトは None でこの場合は低速モードレート制限が無しとなります。

  • reason (Optional[str]) -- スレッドを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- スレッドを作成する権限を持っていない場合。

  • HTTPException -- スレッドの作成に失敗した場合。

  • ValueError -- メッセージがギルド情報を持っていない場合。

戻り値

作成されたスレッド。

戻り値の型

Thread

await delete(*, delay=None)

This function is a coroutine.

メッセージを削除します。

自身が送信したメッセージは適切な権限が無くとも削除できます。しかし、他人の送信したメッセージを削除する場合には、manage_messages が必要です。

バージョン 1.1 で変更: delay キーワード引数が追加されました。

パラメータ

delay (Optional[float]) -- 指定したなら、これはメッセージを削除前に待機する秒数となります。もし削除が失敗しても、それは静かに無視されます。

例外
  • Forbidden -- メッセージを削除するための適切な権限がない場合。

  • NotFound -- メッセージがすでに削除されている場合。

  • HTTPException -- メッセージの削除に失敗した場合。

await fetch()

This function is a coroutine.

部分的なメッセージを完全な Message に変換します。

例外
  • NotFound -- メッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

完全なメッセージ。

戻り値の型

Message

await fetch_thread()

This function is a coroutine.

Retrieves the public thread attached to this message.

注釈

This method is an API call. For general usage, consider thread instead.

バージョン 2.4 で追加.

例外
  • InvalidData -- An unknown channel type was received from Discord or the guild the thread belongs to is not the same as the one in this object points to.

  • HTTPException -- Retrieving the thread failed.

  • NotFound -- There is no thread attached to this message.

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

戻り値

The public thread attached to this message.

戻り値の型

Thread

property jump_url

クライアントがこのメッセージにジャンプすることのできるURLを返します。

str

await pin(*, reason=None)

This function is a coroutine.

メッセージをピン留めします。

プライベートチャンネルでない通常のチャンネルで行うには、 manage_messages が必要です。

パラメータ

reason (Optional[str]) --

メッセージをピン留めする理由。監査ログに表示されます。

バージョン 1.4 で追加.

例外
  • Forbidden -- このメッセージをピン留めする権限を持っていない場合。

  • NotFound -- ピン留めするメッセージやチャンネルが見つからなかったか、既に削除されている場合。

  • HTTPException -- チャンネルにすでに50個ピン留めされたメッセージがあるなどの理由で、メッセージのピン留めに失敗した場合。

await publish()

This function is a coroutine.

このメッセージをチャンネルのフォロワーに公開します。

メッセージはニュースチャンネルで送信されている必要があります。これを行うには、 send_messages が必要です。

自身のメッセージ以外の場合は manage_messages も必要です。

例外
  • Forbidden -- このメッセージを公開するための適切な権限がないか、チャンネルがニュースチャンネルでない場合。

  • HTTPException -- メッセージの公開に失敗した場合。

raw_mentions

メッセージ内容から、 <@user_id> の構文に一致したもののuser_idのリストを返すプロパティです。

これによって、メッセージがプライベートチャンネル内のものであってもメンションされたユーザーのIDを受け取ることができます。

List[int]

await remove_reaction(emoji, member)

This function is a coroutine.

メッセージからあるメンバーによるリアクションをすべて除去します。

絵文字はユニコード絵文字かカスタムギルド絵文字の Emoji でないといけません。

もしリアクションがあなたのものではなければ(つまり、 member パラメーターがあなたでないなら)、 manage_messages も必要になります。

member パラメータはメンバーを示し abc.Snowflake 抽象基底クラスを満たす必要があります。

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

パラメータ
例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションの除去に必要な権限を持っていない場合。

  • NotFound -- 指定されたメンバーや絵文字が見つからなかった場合。

  • TypeError -- emojiパラメータが無効の場合。

await reply(content=None, **kwargs)

This function is a coroutine.

Message に返信するための abc.Messageable.send() のショートカットメソッド。

バージョン 1.6 で追加.

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

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files リストの大きさが適切でない場合。

  • TypeError -- filefiless の両方を指定した場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

to_reference(*, fail_if_not_exists=True)

現在のメッセージから MessageReference を作成します。

バージョン 1.6 で追加.

パラメータ

fail_if_not_exists (bool) --

メッセージ参照を使用して返信するとき、メッセージが存在しなくなった場合、またはDiscordがメッセージを取得できなかった場合、 HTTPException を送出させるかどうか。

バージョン 1.7 で追加.

戻り値

メッセージへの参照。

戻り値の型

MessageReference

await unpin(*, reason=None)

This function is a coroutine.

メッセージのピン留めを外します。

プライベートチャンネルでない通常のチャンネルで行うには、 manage_messages が必要です。

パラメータ

reason (Optional[str]) --

メッセージのピン留めを解除した理由。監査ログに表示されます。

バージョン 1.4 で追加.

例外
  • Forbidden -- このメッセージのピン留めを外す権限を持っていない場合。

  • NotFound -- ピン留めするメッセージやチャンネルが見つからなかったか、既に削除されている場合。

  • HTTPException -- メッセージのピン留め解除に失敗した場合。

raw_channel_mentions

メッセージ内容から、 <@channel_id> の構文に一致したもののchannel_idのリストを返すプロパティです。

List[int]

raw_role_mentions

メッセージ内容から、 <@&role_id> の構文に一致したもののrole_idのリストを返すプロパティです。

List[int]

clean_content

クリーンアップされたメッセージ内容を返すプロパティ。基本的に、これはメンションをクライアントが表示するようなものに変換にする、という意味です。例えば、 <#id>#name に変換されます。

また、これは @everyone メンション や @here メンションを、メンション機能の無いメッセージに変換します。

注釈

これはマークダウンには影響 しません 。マークダウンをエスケープまたは削除したい場合は、この関数とともに utils.escape_markdown()utils.remove_markdown() を使用してください。

str

property created_at

UTCの、メッセージが作成された時刻。

datetime.datetime

property edited_at

メッセージの編集時間を含んだ、awareなUTCのdatetimeオブジェクト。

Optional[datetime.datetime]

property thread

The public thread created from this message, if it exists.

注釈

For messages received via the gateway this does not retrieve archived threads, as they are not retained in the internal cache. Use fetch_thread() instead.

バージョン 2.4 で追加.

Optional[Thread]

is_system()

bool: メッセージがシステムメッセージかどうか。

システムメッセージは、何かの応答としてDiscord APIによって構築されるメッセージです。

バージョン 1.3 で追加.

system_content

Message.type に関わらず、レンダリングされた際のメッセージ内容を返すプロパティ。

MessageType.defaultMessageType.reply の場合、これは Message.content と同じものを返すだけです。しかしそれ以外の場合は、システムメッセージの英語版を返します。

str

await edit(*, content=..., embed=..., embeds=..., attachments=..., suppress=False, delete_after=None, allowed_mentions=..., view=...)

This function is a coroutine.

メッセージを編集します。

内容は str(content) によって文字列に変換できる必要があります。

バージョン 1.3 で変更: suppress キーワード引数が追加されました。

バージョン 2.0 で変更: 編集はメッセージを置き換えず、編集された新しいメッセージが返されるようになりました。

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

パラメータ
  • content (Optional[str]) -- 現在のメッセージと置き換える新しい内容。内容を削除するために None を指定することもできます。

  • embed (Optional[Embed]) -- オリジナルのメッセージと置き換える新しい埋め込み。埋め込みを削除するために None を指定することもできます。

  • embeds (List[Embed]) --

    オリジナルのメッセージと置き換える新しい埋め込み。最大で10個まで指定できます。埋め込みをすべて削除するためには [] を指定してください。

    バージョン 2.0 で追加.

  • attachments (List[Union[Attachment, File]]) --

    メッセージ内で残す添付ファイルと、新規にアップロードする添付ファイルのリスト。 [] が渡された場合すべての添付ファイルが除去されます。

    注釈

    新しいファイルは常に現在の添付ファイルのあとに表示されます。

    バージョン 2.0 で追加.

  • suppress (bool) -- メッセージの埋め込みを除去すべきか。 True に設定するとすべての埋め込みが除去されます。 False に設定すると除去された埋め込みが元に戻ります。このパラメータの使用には manage_messages 権限が必要です。

  • delete_after (Optional[float]) -- もし指定したなら、これはメッセージを編集したあと待機し削除するまでの秒数です。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (Optional[AllowedMentions]) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • view (Optional[View]) -- このメッセージを更新するために更新されたビュー。 None が渡された場合、ビューは削除されます。

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 権限なしに埋め込みを除去しようとした場合や、他人のメッセージの内容や埋め込みを編集しようとした場合。

  • TypeError -- embedembeds の両方を指定した場合。

戻り値

編集された新しいメッセージ。

戻り値の型

Message

await add_files(*files)

This function is a coroutine.

メッセージの添付ファイルの末尾に新しいファイルを追加します。

バージョン 2.0 で追加.

パラメータ

*files (File) -- メッセージに追加する新しいファイル。

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 自分以外のメッセージを編集しようとした場合。

戻り値

編集された新しいメッセージ。

戻り値の型

Message

await remove_attachments(*attachments)

This function is a coroutine.

メッセージの添付ファイルを削除します。

バージョン 2.0 で追加.

パラメータ

*attachments (Attachment) -- メッセージから削除する添付ファイル。

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 自分以外のメッセージを編集しようとした場合。

戻り値

編集された新しいメッセージ。

戻り値の型

Message

DeletedReferencedMessage

Attributes
class discord.DeletedReferencedMessage

解決されたメッセージ参照が削除されたメッセージを指し示すときに与えられる特別なセンチネルタイプ。

このクラスの目的は、取得できなかった参照されたメッセージと、以前に取得されその後削除されたメッセージを区別することです。

バージョン 1.6 で追加.

property id

削除された参照されたメッセージのID。

int

property channel_id

削除された参照されたメッセージが属していたチャンネルのID。

int

property guild_id

削除された参照されたメッセージが属していたギルドのID。

Optional[int]

Reaction

class discord.Reaction

メッセージのリアクション。

このオブジェクトの作成方法によって、属性の一部が None の値になることがあります。

x == y

二つのリアクションが等しいかを比較します。これは絵文字が同一か確認しているため、二つのメッセージの同じリアクションは同一とされます。

x != y

二つのリアクションが等しくないかを比較します。

hash(x)

リアクションのハッシュ値を返します。

str(x)

リアクションの絵文字を表す文字列を返します。

emoji

リアクションの絵文字。カスタム絵文字か、ユニコード絵文字です。

Union[Emoji, PartialEmoji, str]

count

Number of times this reaction was made. This is a sum of normal_count and burst_count.

int

me

ボットがこのリアクションを付けたか。

bool

message

このリアクションのメッセージ。

Message

me_burst

If the user sent this super reaction.

バージョン 2.4 で追加.

bool

normal_count

The number of times this reaction was made using normal reactions. This is not available in the gateway events such as on_reaction_add() or on_reaction_remove().

バージョン 2.4 で追加.

int

burst_count

The number of times this reaction was made using super reactions. This is not available in the gateway events such as on_reaction_add() or on_reaction_remove().

バージョン 2.4 で追加.

int

is_custom_emoji()

bool: カスタム絵文字が使用されているかどうか。

await remove(user)

This function is a coroutine.

指定された User からのリアクションをメッセージから除去します。

もしリアクションがあなたのものではなければ(つまり、 user パラメーターがあなたでないなら)、 manage_messages も必要になります。

user パラメータはユーザーを示し abc.Snowflake 抽象基底クラスを満たす必要があります。

パラメータ

user (abc.Snowflake) -- リアクションを除去すべきユーザーやメンバー。

例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションの除去に必要な権限を持っていない場合。

  • NotFound -- 指定したユーザーかリアクションのメッセージが見つからなかった場合。

await clear()

This function is a coroutine.

メッセージからこのリアクションを除去します。

これを行うには、 manage_messages が必要です。

バージョン 1.3 で追加.

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

例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションを除去するのに必要な権限がない場合。

  • NotFound -- 指定された絵文字が見つからなかった場合。

  • TypeError -- emojiパラメータが無効の場合。

async for ... in users(*, limit=None, after=None)

メッセージにリアクションを付けたユーザーを示す asynchronous iterator を返します。

after パラメータはメンバーを示し abc.Snowflake 抽象基底クラスを満たす必要があります。

バージョン 2.0 で変更: limitafter パラメータがキーワード専用引数になりました。

サンプル

使い方

# I do not actually recommend doing this.
async for user in reaction.users():
    await channel.send(f'{user} has reacted with {reaction.emoji}!')

リストにフラット化:

users = [user async for user in reaction.users()]
# users is now a list of User...
winner = random.choice(users)
await channel.send(f'{winner} has won the raffle.')
パラメータ
  • limit (Optional[int]) -- 返す結果の最大数。与えられていない場合は、リアクションを付けたユーザー全員を返します。

  • after (Optional[abc.Snowflake]) -- リアクションはメンバーごとにソートされます。

例外

HTTPException -- リアクションを付けたユーザーの取得に失敗した場合。

列挙

Union[User, Member] -- リアクションを付けたメンバー(取得できる場合)かユーザー。ギルド内では Member となります。メンバーがギルドを脱退した場合は User になります。

Guild

class discord.Guild

Discordのギルド。

これはDiscordの公式UIでは「サーバー」と呼ばれています。

x == y

二つのギルドが等しいかを比較します。

x != y

二つのギルドが等しくないか比較します。

hash(x)

ギルドのハッシュ値を返します。

str(x)

ギルドの名前を返します。

name

ギルドの名前。

str

emojis

ギルドに追加されている全ての絵文字。

Tuple[Emoji, ...]

stickers

ギルドに追加されている全てのスタンプ。

バージョン 2.0 で追加.

Tuple[GuildSticker, ...]

afk_timeout

メンバーをAFKチャンネルに移動させるまでの秒数。

int

id

ギルドのID。

int

owner_id

ギルドのオーナーのID。代わりに Guild.owner を使用してください。

int

unavailable

ギルドが利用できないかどうか。これが True の場合 Guild.id 以外の属性の信頼度は低く None の場合もあります。利用不可能なギルドに対しては何も行わないことをおすすめします。

on_guild_unavailable()on_guild_available() イベントも確認してください。

bool

max_presences

ギルドのオンラインメンバーの最大数。

Optional[int]

max_members

ギルドのメンバーの最大数。

注釈

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

Optional[int]

max_video_channel_users

ビデオチャンネルのユーザーの最大数。

バージョン 1.4 で追加.

Optional[int]

description

ギルドの説明。

Optional[str]

verification_level

ギルドの認証レベル。

VerificationLevel

vanity_url_code

存在する場合は、ギルドのバニティURLコード。

バージョン 2.0 で追加.

Optional[str]

explicit_content_filter

メディアコンテンツフィルターのレベル。

ContentFilter

default_notifications

ギルドの標準の通知設定。

NotificationLevel

features

ギルドの機能のリスト。ギルドの機能の種類はDiscordによって変更されることがあります。 ギルドの機能の一覧は the Discord documentation にあります。

List[str]

premium_tier

ギルドのプレミアム階級。これは公式UIの「ニトロサーバー」に対応します。これは0以上3以下です。

int

premium_subscription_count

ギルドの現在の「ブースト」数。

int

preferred_locale

ギルドの優先ローケル。これはサーバー発見画面の結果を特定の言語で絞り込むときに利用されます。

バージョン 2.0 で変更: このフィールドが str から列挙型に変更されました。

Locale

nsfw_level

ギルドの年齢制限レベル。

バージョン 2.0 で追加.

NSFWLevel

mfa_level

ギルドの多要素認証要件レベル。

バージョン 2.0 で変更: このフィールドが int から列挙型に変更されました。

MFALevel

approximate_member_count

ギルドのおおよそのメンバーの数を示します。 Client.fetch_guild()Client.fetch_guilds() にて with_counts=True を指定してギルドを取得しない限り、 None を返します。

バージョン 2.0 で追加.

Optional[int]

approximate_presence_count

ギルドで現在アクティブなメンバーのおおよその数を示します。オフラインのメンバーは除外された値となります。 Client.fetch_guild()Client.fetch_guilds() にて with_counts=True を指定してギルドを取得しない限り、 None を返します。

バージョン 2.0 で変更.

Optional[int]

premium_progress_bar_enabled

ギルドがプレミアム、すなわちサーバーブーストレベルの進捗バーを有効化しているか。

バージョン 2.0 で追加.

bool

widget_enabled

ギルドにてウィジェットが有効になっているかどうかを示します。

バージョン 2.0 で追加.

bool

max_stage_video_users

ステージビデオチャンネルのユーザーの最大数。

バージョン 2.3 で追加.

Optional[int]

property channels

このギルド内に存在するチャンネルのリスト。

Sequence[abc.GuildChannel]

property threads

表示する権限があるスレッドのリスト。

バージョン 2.0 で追加.

Sequence[Thread]

property large

ギルドが「ラージ」かどうかを示します。

ギルドが「ラージ」かはメンバー数が large_threshold を超えているかによって判断されます。このライブラリでは、これは最大の250に設定されています。

bool

property voice_channels

このギルド内に存在するボイスチャンネルのリスト。

これはUIにおける順位と同様に、上から下へとソートされています。

List[VoiceChannel]

property stage_channels

このギルド内に存在するステージチャンネルのリスト。

バージョン 1.7 で追加.

これはUIにおける順位と同様に、上から下へとソートされています。

List[StageChannel]

property me

これは Member のインスタンスであることを除いて、 Client.user と似ています。これはギルドにおけるボット自身のメンバーインスタンスを取得するために使用されます。

Member

property voice_client

ギルドに紐づいた VoiceProtocol が存在していれば、それを返します。

Optional[VoiceProtocol]

property text_channels

このギルド内に存在するテキストチャンネルのリスト。

これはUIにおける順位と同様に、上から下へとソートされています。

List[TextChannel]

property categories

このギルド内に存在するカテゴリのリスト。

これはUIにおける順位と同様に、上から下へとソートされています。

List[CategoryChannel]

property forums

このギルド内に存在するフォーラムチャンネルのリスト。

これはUIにおける順位と同様に、上から下へとソートされています。

List[ForumChannel]

by_category()

すべての CategoryChannel とそれに属するチャンネルを返します。

チャンネルとカテゴリは、公式のDiscord UIと同様の順序によってソートされています。

もしチャンネルがカテゴリに属さないなら、そのタプルの最初の要素は None になります。

戻り値

ギルドに存在するカテゴリと、それに属するチャンネル。

戻り値の型

List[Tuple[Optional[CategoryChannel], List[abc.GuildChannel]]]

get_channel_or_thread(channel_id, /)

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

バージョン 2.0 で追加.

パラメータ

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

戻り値

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

戻り値の型

Optional[Union[Thread, abc.GuildChannel]]

get_channel(channel_id, /)

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

注釈

これはスレッドは確認 しません

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

パラメータ

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

戻り値

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

戻り値の型

Optional[abc.GuildChannel]

get_thread(thread_id, /)

与えられたIDに合致するスレッドを返します。

注釈

内部キャッシュに保持されていないため、アーカイブされたスレッドを取得できないことがあります。代わりに fetch_channel() を使用してください。

バージョン 2.0 で追加.

パラメータ

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

戻り値

スレッド、または該当するものが見つからない場合 None が返ります。

戻り値の型

Optional[Thread]

get_emoji(emoji_id, /)

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

バージョン 2.3 で追加.

パラメータ

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

戻り値

絵文字、または該当するものが見つからない場合 None が返ります。

戻り値の型

Optional[Emoji]

property afk_channel

AFKチャンネルを示すチャンネル。

チャンネルが設定されていない場合はこれは None になります。

Optional[Union[VoiceChannel, StageChannel]]

property system_channel

ギルドの「システムのメッセージチャンネル」として設定されているチャンネルを返します。

チャンネルが設定されていない場合はこれは None になります。

Optional[TextChannel]

property system_channel_flags

ギルドのシステムチャンネルの設定を返します。

SystemChannelFlags

property rules_channel

ルールに使用されるギルドのチャンネルを返します。ギルドはコミュニティギルドでなければなりません。

チャンネルが設定されていない場合はこれは None になります。

バージョン 1.3 で追加.

Optional[TextChannel]

property public_updates_channel

ギルドの管理者とモデレータがDiscordからの通知を受け取るギルドのチャンネルを返します。ギルドはコミュニティギルドでなければなりません。

チャンネルが設定されていない場合はこれは None になります。

バージョン 1.4 で追加.

Optional[TextChannel]

property safety_alerts_channel

存在する場合、ギルドの「セーフティ通知チャンネル」として設定されているチャンネルを返します。

例えば、これはレイドプロテクションの設定に使用されます。ギルドには COMMUNITY 機能が必要です。

バージョン 2.3 で追加.

Optional[TextChannel]

property widget_channel

ギルドのウィジェットチャンネルを返します。

チャンネルが設定されていない場合はこれは None になります。

バージョン 2.3 で追加.

Optional[Union[TextChannel, ForumChannel, VoiceChannel, StageChannel]]

property emoji_limit

ギルドに追加できるカスタム絵文字のスロットの最大数。

int

property sticker_limit

ギルドに追加できるカスタムスタンプのスロットの最大数。

バージョン 2.0 で追加.

int

property bitrate_limit

ギルドに設定できるボイスチャンネルのビットレートの最大値。

float

property filesize_limit

ギルドにアップロード可能なファイルの、バイト数の最大値。

int

property members

このギルド内に参加しているメンバーのリスト。

Sequence[Member]

get_member(user_id, /)

与えられたIDのメンバーを返します。

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

パラメータ

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

戻り値

Memberが返されます。見つからなかった場合は、 None が返ります。

戻り値の型

Optional[Member]

property premium_subscribers

このギルドに対してサーバーブーストを行ったメンバーのリスト。

List[Member]

property roles

設定された順序で並んだギルドのロールのシーケンスを返します。

最初の要素は、ギルド内の全てのロールにおいて、最も順位の低いものになります。

Sequence[Role]

get_role(role_id, /)

与えられたIDのロールを返します。

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

パラメータ

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

戻り値

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

戻り値の型

Optional[Role]

property default_role

全てのメンバーにデフォルトで付与されるロールである @everyone ロールを取得します。

Role

property premium_subscriber_role

ギルドのプレミアムサブスクライバーロール、つまり「ブースト」ロールを取得します。

バージョン 1.6 で追加.

Optional[Role]

property self_role

このクライアントのユーザーに関連付けられたロールが存在する場合、それを取得します。

バージョン 1.6 で追加.

Optional[Role]

property stage_instances

現在開催中のギルドのステージインスタンスのシーケンスを返します。

バージョン 2.0 で追加.

Sequence[StageInstance]

get_stage_instance(stage_instance_id, /)

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

バージョン 2.0 で追加.

パラメータ

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

戻り値

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

戻り値の型

Optional[StageInstance]

property scheduled_events

ギルドのスケジュールイベントのシーケンスを返します。

バージョン 2.0 で追加.

Sequence[ScheduledEvent]

get_scheduled_event(scheduled_event_id, /)

与えられたIDのスケジュールイベントを返します。

バージョン 2.0 で追加.

パラメータ

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

戻り値

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

戻り値の型

Optional[ScheduledEvent]

property owner

ギルドを所有しているメンバー。

Optional[Member]

property icon

利用できる場合、ギルドのアイコンのアセットを返します。

Optional[Asset]

property banner

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

Optional[Asset]

property splash

利用できる場合、ギルドの招待の背景のアセットを返します。

Optional[Asset]

property discovery_splash

利用できる場合、ギルドの発見のスプライトのアセットを返します。

Optional[Asset]

property member_count

利用可能な場合、メンバー数を返します。

警告

Discordの制限により、この属性を最新かつ正確に維持するには、 Intents.members を有効化しないといけません。

バージョン 2.0 で変更: Optional[int] を返すように変更されました。

Optional[int]

property chunked

ギルドが「チャンクされたか」を返すブール値を返します。

member_count が内部の members に存在するメンバーの数と同じ場合にギルドはチャンクされています。

これが False の場合、オフラインのメンバーをリクエストすべきです。

bool

property shard_id

該当する場合、このギルドのシャードIDを返します。

int

property created_at

ギルドの作成時刻をUTCで返します。

datetime.datetime

get_member_named(name, /)

指定された名前に一致する最初のメンバーを返します。

名前は以下の順番で検索されます:

  • ユーザー名#タグ (非推奨)

  • ユーザー名#0 (非推奨、タグから移行したユーザーのみ取得)

  • ニックネーム

  • グローバルの表示名

  • ユーザー名

メンバーが見つからない場合は None が返されます。

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

バージョン 2.3 で非推奨: Discord APIの変更のため、ユーザーのタグによる検索。

パラメータ

name (str) -- 検索するメンバーの名前。

戻り値

渡された名前のメンバー。見つからなかった場合は None が返ります。

戻り値の型

Optional[Member]

await create_text_channel(name, *, reason=None, category=None, news=False, position=..., topic=..., slowmode_delay=..., nsfw=..., overwrites=..., default_auto_archive_duration=..., default_thread_slowmode_delay=...)

This function is a coroutine.

ギルドに TextChannel を作成します。

チャンネルを作成するには、manage_channels が必要です。

overwrites パラメータを使用すると秘密のチャンネルを作成できます。このパラメータは対象( MemberRole )をキーとし PermissionOverwrite を値とする dict を取ります。

注釈

指定された位置のチャンネルを作成しても、それに続く他のチャンネルの位置は更新されません。 チャンネルリスト内のチャンネルの位置を更新するには、呼び出し後に edit() を呼び出さないといけません。

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

サンプル

基本的なチャンネルの作成例:

channel = await guild.create_text_channel('cool-channel')

秘密のチャンネルの作成例:

overwrites = {
    guild.default_role: discord.PermissionOverwrite(read_messages=False),
    guild.me: discord.PermissionOverwrite(read_messages=True)
}

channel = await guild.create_text_channel('secret', overwrites=overwrites)
パラメータ
  • name (str) -- チャンネルの名前。

  • overwrites (Dict[Union[Role, Member], PermissionOverwrite]) -- チャンネル作成時に適用すべき、対象(ロールまたはメンバー)をキーとし PermissionOverwrite を値とする dict 。秘密のチャンネルの作成に便利です。

  • category (Optional[CategoryChannel]) -- 新しく作成されたチャンネルを配置するカテゴリ。上書きがない場合、権限は自動的にカテゴリと同期されます。

  • position (int) -- チャンネルリストにおける位置。これは0から始まる番号で、最も上のチャンネルの位置は0です。

  • topic (str) -- 新しいチャンネルのトピック。

  • slowmode_delay (int) -- チャンネル内の低速モードの時間を秒単位で指定します。最大値は 21600 です。

  • nsfw (bool) -- チャンネルに年齢制限をかけるかどうか。

  • news (bool) --

    ニュースチャンネルとしてテキストチャンネルを作成するかどうか。

    バージョン 2.0 で追加.

  • default_auto_archive_duration (int) --

    このテキストチャンネルで作成されたスレッドの分単位のデフォルトの自動アーカイブ期間。これは 6014404320 、または 10080 でないといけません。

    バージョン 2.0 で追加.

  • default_thread_slowmode_delay (int) --

    このテキストチャンネルで作成されたスレッドの、デフォルトの秒単位の低速モードレート制限。

    バージョン 2.3 で追加.

  • reason (Optional[str]) -- チャンネルを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

  • TypeError -- 権限の上書きの情報が適切なものでない場合。

戻り値

作成されたチャンネル。

戻り値の型

TextChannel

await create_voice_channel(name, *, reason=None, category=None, position=..., bitrate=..., user_limit=..., rtc_region=..., video_quality_mode=..., overwrites=...)

This function is a coroutine.

これは VoiceChannel を作る点以外では create_text_channel() と似ています。

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

パラメータ
  • name (str) -- チャンネルの名前。

  • overwrites (Dict[Union[Role, Member], PermissionOverwrite]) -- チャンネル作成時に適用すべき、対象(ロールまたはメンバー)をキーとし PermissionOverwrite を値とする dict 。秘密のチャンネルの作成に便利です。

  • category (Optional[CategoryChannel]) -- 新しく作成されたチャンネルを配置するカテゴリ。上書きがない場合、権限は自動的にカテゴリと同期されます。

  • position (int) -- チャンネルリストにおける位置。これは0から始まる番号で、最も上のチャンネルの位置は0です。

  • bitrate (int) -- チャンネルのビット毎秒単位の推奨オーディオビットレート設定。

  • user_limit (int) -- ボイスチャンネルに参加できるメンバー数の制限。

  • rtc_region (Optional[str]) --

    ボイスチャンネルの音声通信のためのリージョン。値が None の場合は自動で検出されます。

    バージョン 1.7 で追加.

  • video_quality_mode (VideoQualityMode) --

    ボイスチャンネル参加者のカメラビデオの画質。

    バージョン 2.0 で追加.

  • reason (Optional[str]) -- チャンネルを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

  • TypeError -- 権限の上書きの情報が適切なものでない場合。

戻り値

作成されたチャンネル。

戻り値の型

VoiceChannel

await create_stage_channel(name, *, reason=None, category=None, position=..., bitrate=..., user_limit=..., rtc_region=..., video_quality_mode=..., overwrites=...)

This function is a coroutine.

これは StageChannel を作る点以外では create_text_channel() と似ています。

バージョン 1.7 で追加.

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

パラメータ
  • name (str) -- チャンネルの名前。

  • overwrites (Dict[Union[Role, Member], PermissionOverwrite]) -- チャンネル作成時に適用すべき、対象(ロールまたはメンバー)をキーとし PermissionOverwrite を値とする dict 。秘密のチャンネルの作成に便利です。

  • category (Optional[CategoryChannel]) -- 新しく作成されたチャンネルを配置するカテゴリ。上書きがない場合、権限は自動的にカテゴリと同期されます。

  • position (int) -- チャンネルリストにおける位置。これは0から始まる番号で、最も上のチャンネルの位置は0です。

  • bitrate (int) --

    チャンネルのビット毎秒単位の推奨オーディオビットレート設定。

    バージョン 2.2 で追加.

  • user_limit (int) --

    ボイスチャンネルに参加できるメンバー数の制限。

    バージョン 2.2 で追加.

  • rtc_region (Optional[str]) --

    ボイスチャンネルの音声通信のためのリージョン。値が None の場合は自動で検出されます。

    バージョン 2.2 で追加.

  • video_quality_mode (VideoQualityMode) --

    ボイスチャンネル参加者のカメラビデオの画質。

    バージョン 2.2 で追加.

  • reason (Optional[str]) -- チャンネルを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

  • TypeError -- 権限の上書きの情報が適切なものでない場合。

戻り値

作成されたチャンネル。

戻り値の型

StageChannel

await create_category(name, *, overwrites=..., reason=None, position=...)

This function is a coroutine.

これは CategoryChannel を作る点以外では create_text_channel() と似ています。

注釈

カテゴリを重ねることはできないため、この関数は category パラメータをサポートしません。

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

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

  • TypeError -- 権限の上書きの情報が適切なものでない場合。

戻り値

作成されたチャンネル。

戻り値の型

CategoryChannel

await create_category_channel(name, *, overwrites=..., reason=None, position=...)

This function is a coroutine.

これは CategoryChannel を作る点以外では create_text_channel() と似ています。

注釈

カテゴリを重ねることはできないため、この関数は category パラメータをサポートしません。

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

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

  • TypeError -- 権限の上書きの情報が適切なものでない場合。

戻り値

作成されたチャンネル。

戻り値の型

CategoryChannel

await create_forum(name, *, topic=..., position=..., category=None, slowmode_delay=..., nsfw=..., overwrites=..., reason=None, default_auto_archive_duration=..., default_thread_slowmode_delay=..., default_sort_order=..., default_reaction_emoji=..., default_layout=..., available_tags=...)

This function is a coroutine.

これは ForumChannel を作る点以外では create_text_channel() と似ています。

overwrites パラメータを使用すると秘密のチャンネルを作成できます。このパラメータは対象( MemberRole )をキーとし PermissionOverwrite を値とする dict を取ります。

バージョン 2.0 で追加.

パラメータ
  • name (str) -- チャンネルの名前。

  • overwrites (Dict[Union[Role, Member], PermissionOverwrite]) -- チャンネル作成時に適用すべき、対象(ロールまたはメンバー)をキーとし PermissionOverwrite を値とする dict 。秘密のチャンネルの作成に便利です。

  • topic (str) -- チャンネルのトピック。

  • category (Optional[CategoryChannel]) -- 新しく作成されたチャンネルを配置するカテゴリ。上書きがない場合、権限は自動的にカテゴリと同期されます。

  • position (int) -- チャンネルリストにおける位置。これは0から始まる番号で、最も上のチャンネルの位置は0です。

  • nsfw (bool) -- チャンネルに年齢制限をかけるかどうか。

  • slowmode_delay (int) -- チャンネル内の低速モードの時間を秒単位で指定します。最大値は 21600 です。

  • reason (Optional[str]) -- チャンネルを作成する理由。監査ログに表示されます。

  • default_auto_archive_duration (int) -- このフォーラムチャンネルで作成されたスレッドの分単位のデフォルトの自動アーカイブ期間。これは 6014404320 、または 10080 でないといけません。

  • default_thread_slowmode_delay (int) --

    このフォーラムで作成されたスレッドの、デフォルトの秒単位の低速モードレート制限。

    バージョン 2.1 で追加.

  • default_sort_order (ForumOrderType) --

    このフォーラムチャネルの投稿の並び替え順。

    バージョン 2.3 で追加.

  • default_reaction_emoji (Union[Emoji, PartialEmoji, str]) --

    このフォーラムで作成されたスレッドで、デフォルトでリアクション追加ボタンに表示するリアクション絵文字。

    バージョン 2.3 で追加.

  • default_layout (ForumLayoutType) --

    このフォーラムの投稿のデフォルトの表示レイアウト。

    バージョン 2.3 で追加.

  • available_tags (Sequence[ForumTag]) --

    このフォーラムチャンネルで利用可能なタグ。

    バージョン 2.1 で追加.

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

  • TypeError -- 権限の上書きの情報が適切なものでない場合。

戻り値

作成されたチャンネル。

戻り値の型

ForumChannel

await leave()

This function is a coroutine.

ギルドから脱退します。

注釈

自分のギルドから脱退することはできません。代わりに delete() で削除する必要があります。

例外

HTTPException -- ギルドの脱退に失敗した場合。

await delete()

This function is a coroutine.

ギルドを削除します。ただし、あなたが削除するギルドの所有者である必要があります。

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

  • Forbidden -- ギルドを削除する権限がない場合。

await edit(*, reason=..., name=..., description=..., icon=..., banner=..., splash=..., discovery_splash=..., community=..., afk_channel=..., owner=..., afk_timeout=..., default_notifications=..., verification_level=..., explicit_content_filter=..., vanity_code=..., system_channel=..., system_channel_flags=..., preferred_locale=..., rules_channel=..., public_updates_channel=..., premium_progress_bar_enabled=..., discoverable=..., invites_disabled=..., widget_enabled=..., widget_channel=..., mfa_level=..., raid_alerts_disabled=..., safety_alerts_channel=..., invites_disabled_until=..., dms_disabled_until=...)

This function is a coroutine.

ギルドを編集します。

ルールを編集するには、 manage_guild が必要です。

バージョン 2.0 で変更: 新しく更新されたギルドが返されるようになりました。

バージョン 2.0 で変更: region キーワード引数が削除されました。

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

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

  • description (Optional[str]) -- ギルドの新しい説明。説明がない場合 None を指定することができます。ただし、これは Guild.featuresCOMMUNITY があるギルドでのみ使用できます。

  • icon (bytes) -- アイコンを示す bytes-like object 。PNGとJPEGのみ使用できます。 Guild.featuresANIMATED_ICON を含むギルドではGIFも使用できます。アイコンを削除する場合には None を指定できます。

  • banner (bytes) -- バナーを示す bytes-like object 。バナーを削除する場合には None を指定できます。 Guild.featuresBANNER を含むギルドでのみ利用可能です。

  • splash (bytes) -- 招待スプラッシュを示す bytes-like object 。PNGとJPEGのみ使用できます。スプラッシュを削除する場合には None を指定できます。 Guild.featuresINVITE_SPLASH を含むギルドでのみ利用可能です。

  • discovery_splash (bytes) --

    発見画面のスプラッシュを示す bytes-like object 。PNGとJPEGのみ使用できます。スプラッシュを削除する場合には None を指定できます。 Guild.featuresDISCOVERABLE を含むギルドでのみ利用可能です。

    バージョン 2.0 で追加.

  • community (bool) --

    ギルドをコミュニティギルドにするかどうか。True に設定した場合、rules_channelpublic_updates_channel の両方のパラメータが必要です。

    バージョン 2.0 で追加.

  • afk_channel (Optional[VoiceChannel]) -- AFKチャンネルに設定する新しいチャンネル。AFKチャンネルを設定しない場合には None を指定することができます。

  • afk_timeout (int) -- メンバーをAFKチャンネルに移動させるまでの秒数。

  • owner (Member) -- ギルドの新しい所有者。ただし、これを設定する場合には、ギルドの所有者である必要があります。

  • verification_level (VerificationLevel) -- ギルドの新しい認証レベル。

  • default_notifications (NotificationLevel) -- ギルドの新しい標準の通知レベル。

  • explicit_content_filter (ContentFilter) -- ギルドの新しい、不適切な表現のフィルター設定。

  • vanity_code (str) -- ギルドの新しいバニティコード。

  • system_channel (Optional[TextChannel]) -- システムチャンネルに設定する新しいチャンネル。システムチャンネルを設定しない場合には None を指定することができます。

  • system_channel_flags (SystemChannelFlags) -- 新しいシステムチャンネルの使用設定。

  • preferred_locale (Locale) --

    ギルドの新しい優先ロケール。ギルドの主要言語として使用されます。

    バージョン 2.0 で変更: str の代わりに列挙型を受け付けます。

  • rules_channel (Optional[TextChannel]) --

    ルールに使用される新しいチャンネル。これは Guild.featuresCOMMUNITY を含むギルドでのみ利用できます。ルールチャネルがない場合は None を指定できます。

    バージョン 1.4 で追加.

  • public_updates_channel (Optional[TextChannel]) --

    Discordからのコミュニティーアップデートに使用される新しいチャンネル。これは Guild.featuresCOMMUNITY を含むギルドでのみ利用できます。コミュニティーアップデートチャネルがない場合は None を指定できます。

    バージョン 1.4 で追加.

  • premium_progress_bar_enabled (bool) --

    ギルドのプレミアム、すなわちサーバーブーストレベルの進捗バーを有効化すべきか。

    バージョン 2.0 で追加.

  • discoverable (bool) --

    このギルドでサーバー発見を有効にするかどうか。

    バージョン 2.1 で追加.

  • invites_disabled (bool) --

    招待でのギルドへの参加を無効にするかどうか。

    バージョン 2.1 で追加.

  • widget_enabled (bool) --

    ギルドのウィジェットを有効にするかどうか。

    バージョン 2.3 で追加.

  • widget_channel (Optional[abc.Snowflake]) --

    新しいウィジェットチャンネル。None を指定するとウィジェットチャンネルを除去できます。

    バージョン 2.3 で追加.

  • mfa_level (MFALevel) --

    新しいギルドの二要素認証要件レベル。これを行うにはギルドの所有者でないといけません。

    バージョン 2.3 で追加.

  • reason (Optional[str]) -- ギルドを編集する理由。監査ログに表示されます。

  • raid_alerts_disabled (bool) --

    レイドプロテクションのアラートをギルドで無効にするかどうか。

    バージョン 2.3 で追加.

  • safety_alerts_channel (Optional[TextChannel]) --

    安全アラートに使用される新しいチャンネル。これは Guild.featuresCOMMUNITY を含むギルドでのみ利用できます。安全アラートチャネルがない場合は None を指定できます。

    バージョン 2.3 で追加.

  • invites_disabled_until (Optional[datetime.datetime]) --

    The time when invites should be enabled again, or None to disable the action. This must be a timezone-aware datetime object. Consider using utils.utcnow().

    バージョン 2.4 で追加.

  • dms_disabled_until (Optional[datetime.datetime]) --

    The time when direct messages should be allowed again, or None to disable the action. This must be a timezone-aware datetime object. Consider using utils.utcnow().

    バージョン 2.4 で追加.

例外
  • Forbidden -- ギルドを編集する権限がない場合。

  • HTTPException -- ギルドの編集に失敗した場合。

  • ValueError -- icon に渡された画像形式が無効な場合。これはPNGかJPGでなくてはいけません。また、あなたがギルドの所有者でないのに、ギルドの所有権の移動を行おうとした場合にも発生します。

  • TypeError -- default_notificationsrules_channelpublic_updates_channelsafety_alerts_channelverification_levelexplicit_content_filtersystem_channel_flagsmfa_level に間違った型の値が渡されたとき。

戻り値

新しく更新されたギルド。これは Client.fetch_guild() に記載されているものと同じ制限があり、完全なデータを持っていない可能性があることに注意してください。

戻り値の型

Guild

await fetch_channels()

This function is a coroutine.

ギルドの abc.GuildChannel をすべて取得します。

注釈

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

バージョン 1.2 で追加.

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

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

戻り値

ギルド内のすべてのチャンネル。

戻り値の型

Sequence[abc.GuildChannel]

await active_threads()

This function is a coroutine.

クライアントがアクセスできるアクティブな Thread のリストを返します。

これにはプライベートスレッドとパブリックスレッドの両方が含まれます。

バージョン 2.0 で追加.

例外

HTTPException -- アクティブなスレッドの取得に失敗した場合。

戻り値

アクティブなスレッド

戻り値の型

List[Thread]

async for ... in fetch_members(*, limit=1000, after=...)

ギルドのメンバーを取得できる asynchronous iterator を取得します。これを使用するには Intents.members() が必要です。

注釈

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

バージョン 1.3 で追加.

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

パラメータ
  • limit (Optional[int]) -- 取得するメンバーの数。デフォルトは1000です。すべてのメンバーを取得するには None を渡します。これは取得に時間がかかる可能性があります。

  • after (Optional[Union[abc.Snowflake, datetime.datetime]]) -- 渡された日付、またはオブジェクトより後のメンバーを取得します。日付を指定する場合、UTC対応の「aware」を利用することを推奨します。日付が「naive」である場合、これは地域時間であるとみなされます。

例外
列挙

Member -- メンバーデータが解析されたメンバー。

サンプル

使い方

async for member in guild.fetch_members(limit=150):
    print(member.name)
await fetch_member(member_id, /)

This function is a coroutine.

ギルドIDとメンバーIDから Member を取得します。

注釈

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

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

パラメータ

member_id (int) -- 取得したいメンバーのID。

例外
  • Forbidden -- ギルドにアクセスする権限がない場合。

  • HTTPException -- メンバーの取得に失敗した場合。

  • NotFound -- メンバーが見つからなかった場合。

戻り値

メンバーIDで指定されたメンバー。

戻り値の型

Member

await fetch_ban(user)

This function is a coroutine.

ユーザーの BanEntry を返します。

この情報を取得するためには、ban_members が必要です。

パラメータ

user (abc.Snowflake) -- BAN情報を取得するユーザー。

例外
  • Forbidden -- 適切な権限を有していない場合。

  • NotFound -- 指定されたユーザーがBANされていない場合。

  • HTTPException -- 情報取得中にエラーが発生した場合。

戻り値

指定されたユーザーの BanEntry オブジェクト。

戻り値の型

BanEntry

await fetch_channel(channel_id, /)

This function is a coroutine.

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

注釈

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

バージョン 2.0 で追加.

例外
  • InvalidData -- 不明なチャンネルタイプをDiscordから受け取ったか、チャンネルが属するギルドがこのオブジェクトが示すものと異なる場合。

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

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

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

戻り値

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

戻り値の型

Union[abc.GuildChannel, Thread]

async for ... in bans(*, limit=1000, before=..., after=...)

ギルドからBANされたユーザの asynchronous iteratorBanEntry として取得します。

この情報を取得するためには、ban_members が必要です。

バージョン 2.0 で変更: DiscordのAPIの変更により、リストの代わりにページ化されたイテレータが返されるようになりました。

サンプル

使い方

async for entry in guild.bans(limit=150):
    print(entry.user, entry.reason)

リストへフラット化

bans = [entry async for entry in guild.bans(limit=2000)]
# bans is now a list of BanEntry...

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

パラメータ
  • limit (Optional[int]) -- 取得するBANの数。 None の場合、BotがアクセスできるBANすべてを取得します。ただし、これには時間が掛かることに注意してください。デフォルトは 1000 です。

  • before (abc.Snowflake) -- このユーザ以前のBANを取得します。

  • after (abc.Snowflake) -- このユーザ以降のBANを取得します。

例外
  • Forbidden -- 適切な権限を有していない場合。

  • HTTPException -- 情報取得中にエラーが発生した場合。

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

列挙

BanEntry -- BANされたユーザーのBANエントリー。

await prune_members(*, days, compute_prune_count=True, roles=..., reason=None)

This function is a coroutine.

ギルドからアクティブでないメンバーをキックします。

days 日間ログインせずロールを持たないメンバーが非アクティブとされます。

You must have both kick_members and manage_guild to do this.

実際にキックせずにキックされるメンバー数を確認するには estimate_pruned_members() 関数を確認してください。

特定のロールを持つメンバーもキックするには、 roles パラメータを参照してください。

バージョン 1.4 で変更: roles キーワード引数が追加されました。

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

パラメータ
  • days (int) -- 非アクティブとしてカウントするまでの日数。

  • reason (Optional[str]) -- アクションを実行する理由。監査ログに表示されます。

  • compute_prune_count (bool) -- キックされるユーザー数を計算するか。これはデフォルトが True なので、非常に大きいギルドではタイムアウトが発生する場合があります。これを防ぐには、 False に設定してください。これが False の場合この関数は常に None を返します。

  • roles (List[abc.Snowflake]) -- キックすべきロールである abc.Snowflake のリスト。このリストに含まれないロールに属するメンバーは除外されます。

例外
  • Forbidden -- メンバーをキックする権限がない場合。

  • HTTPException -- メンバーのキック中にエラーが発生した場合。

  • TypeError -- days が整数でない場合。

戻り値

キックされたメンバー数。もし compute_prune_countFalse の場合これは None を返します。

戻り値の型

Optional[int]

await templates()

This function is a coroutine.

ギルド内のテンプレートのリストを取得します。

これを行うには、 manage_guild が必要です。

バージョン 1.7 で追加.

例外

Forbidden -- テンプレートを取得する権限がない場合。

戻り値

ギルド内のテンプレート。

戻り値の型

List[Template]

await webhooks()

This function is a coroutine.

ギルド内のWebhookのリストを取得します。

これを行うには、 manage_webhooks が必要です。

例外

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

戻り値

ギルド内のWebhook。

戻り値の型

List[Webhook]

await estimate_pruned_members(*, days, roles=...)

This function is a coroutine.

prune_members() と似ていますが、実際にキックせず、何人キックされるであろうかを返します。

バージョン 2.0 で変更: 返される値は None になることがあります。

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

パラメータ
  • days (int) -- 非アクティブとしてカウントするまでの日数。

  • roles (List[abc.Snowflake]) --

    算入すべきロールである abc.Snowflake のリスト。このリストに含まれないロールに属するメンバーは除外されます。

    バージョン 1.7 で追加.

例外
  • Forbidden -- メンバーをキックする権限がない場合。

  • HTTPException -- メンバー数の概算を取得中にエラーが発生した場合。

  • TypeError -- days が整数でない場合。

戻り値

キックされると推定されるメンバーの数。

戻り値の型

Optional[int]

await invites()

This function is a coroutine.

このギルドの全てのアクティブなインスタント招待のリストを返します。

この情報を取得するためには、manage_guild が必要です。

例外
  • Forbidden -- 適切な権限を有していない場合。

  • HTTPException -- 情報取得中にエラーが発生した場合。

戻り値

現時点でアクティブな招待のリスト。

戻り値の型

List[Invite]

await create_template(*, name, description=...)

This function is a coroutine.

サーバーのテンプレートを作成します。

これを行うには、 manage_guild が必要です。

バージョン 1.7 で追加.

パラメータ
  • name (str) -- テンプレートの名前。

  • description (str) -- テンプレートの説明。

await create_integration(*, type, id)

This function is a coroutine.

ギルドに連携サービスを付属させます。

これを行うには、 manage_guild が必要です。

バージョン 1.4 で追加.

パラメータ
  • type (str) -- 連携サービスタイプ (例: Twitch)。

  • id (int) -- 連携サービスID。

例外
  • Forbidden -- 連携サービスを作成する権限がない場合。

  • HTTPException -- アカウントが見つからなかった場合。

await integrations()

This function is a coroutine.

サーバーに追加されたすべての連携サービスのリストを返します。

これを行うには、 manage_guild が必要です。

バージョン 1.4 で追加.

例外
  • Forbidden -- 連携サービスを作成する権限がない場合。

  • HTTPException -- 連携サービスの取得に失敗した場合。

戻り値

サーバーの連携サービスのリスト。

戻り値の型

List[Integration]

await fetch_stickers()

This function is a coroutine.

ギルドの Sticker のリストを取得します。

バージョン 2.0 で追加.

注釈

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

例外

HTTPException -- スタンプの取得中にエラーが発生した場合。

戻り値

取得したスタンプ。

戻り値の型

List[GuildSticker]

await fetch_sticker(sticker_id, /)

This function is a coroutine.

ギルドのカスタム Sticker を取得します。

バージョン 2.0 で追加.

注釈

このメソッドはAPIを呼び出します。通常は stickers をイテレートして使用してください。

パラメータ

sticker_id (int) -- スタンプのID。

例外
  • NotFound -- 要求されたスタンプが見つからなかった場合。

  • HTTPException -- スタンプの取得中にエラーが発生した場合。

戻り値

取得したスタンプ。

戻り値の型

GuildSticker

await create_sticker(*, name, description, emoji, file, reason=None)

This function is a coroutine.

ギルドに Sticker を作成します。

これを行うには、 manage_emojis_and_stickers が必要です。

バージョン 2.0 で追加.

パラメータ
  • name (str) -- スタンプ名。2文字以上でなければなりません。

  • description (str) -- スタンプの説明。

  • emoji (str) -- スタンプの表現を示すユニコード絵文字の名前。

  • file (File) -- アップロードするスタンプのファイル。

  • reason (str) -- スタンプを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- スタンプを作成する権限がない場合。

  • HTTPException -- スタンプ作成中にエラーが発生した場合。

戻り値

作成したスタンプ。

戻り値の型

GuildSticker

await delete_sticker(sticker, /, *, reason=None)

This function is a coroutine.

ギルドのカスタム Sticker を削除します。

これを行うには、 manage_emojis_and_stickers が必要です。

バージョン 2.0 で追加.

パラメータ
  • sticker (abc.Snowflake) -- 削除するスタンプ。

  • reason (Optional[str]) -- スタンプを削除する理由。監査ログに表示されます。

例外
  • Forbidden -- スタンプを削除する権限がない場合。

  • HTTPException -- スタンプの削除中にエラーが発生した場合。

await fetch_scheduled_events(*, with_counts=True)

This function is a coroutine.

ギルドのスケジュールイベントのリストを取得します。

バージョン 2.0 で追加.

パラメータ

with_counts (bool) -- イベントに購読しているユーザー数を含めるかどうか。デフォルトは True です。

例外

HTTPException -- スケジュールイベントの取得に失敗した場合。

戻り値

スケジュールイベント。

戻り値の型

List[ScheduledEvent]

await fetch_scheduled_event(scheduled_event_id, /, *, with_counts=True)

This function is a coroutine.

ギルドのスケジュールイベントを取得します。

バージョン 2.0 で追加.

パラメータ
  • scheduled_event_id (int) -- スケジュールイベントID。

  • with_counts (bool) -- イベントに購読しているユーザー数を含めるかどうか。デフォルトは True です。

例外
  • NotFound -- スケジュールイベントが見つからなかった場合。

  • HTTPException -- スケジュールイベントの取得に失敗した場合。

戻り値

スケジュールイベント。

戻り値の型

ScheduledEvent

await create_scheduled_event(*, name, start_time, entity_type=..., privacy_level=..., channel=..., location=..., end_time=..., description=..., image=..., reason=None)

This function is a coroutine.

ギルドのスケジュールイベントを作成します。

これを行うには、 manage_events が必要です。

バージョン 2.0 で追加.

パラメータ
  • name (str) -- スケジュールイベントの名前。

  • description (str) -- スケジュールイベントの説明。

  • channel (Optional[abc.Snowflake]) -- スケジュールイベントの送信先チャンネル。もしチャンネルが StageInstance または VoiceChannel ならば、開催場所の種類が自動で設定されます。 entity_typeEntityType.voice または EntityType.stage_instance の場合必須です。

  • start_time (datetime.datetime) -- スケジュールイベントの開始予定時刻。これはtimezone awareなdatetimeオブジェクトでないといけません。 utils.utcnow() を使用してみてください。

  • end_time (datetime.datetime) -- スケジュールイベントの終了予定時刻。これはtimezone awareなdatetimeオブジェクトでないといけません。 utils.utcnow() を使用してみてください。 EntityType.external の場合必須です。

  • privacy_level (PrivacyLevel) -- スケジュールイベントのプライバシーレベル。

  • entity_type (EntityType) -- スケジュールイベントの開催場所の種類。もしチャンネルが StageInstance または VoiceChannel の場合これは適切な種類に自動で設定されます。もしチャンネルが渡されなかった場合は EntityType.external とみなされます。

  • image (bytes) -- スケジュールイベントの画像。

  • location (str) -- スケジュールイベントの場所。 entity_typeEntityType.external の場合必須です。

  • reason (Optional[str]) -- スケジュールイベントを作成する理由。監査ログに表示されます。

例外
  • TypeError -- imagebytes-like object でない場合、 privacy_levelPrivacyLevel でない場合、 entity_typeEntityType でない場合、 statusEventStatus でない場合、または引数が渡された entity_type と互換性のない場合。

  • ValueError -- start_timeend_time がtimezone awareなdatetimeオブジェクトでない場合。

  • Forbidden -- スケジュールイベントを作成する権限がない場合。

  • HTTPException -- スケジュールイベントの作成に失敗した場合。

戻り値

作成されたスケジュールイベント。

戻り値の型

ScheduledEvent

await fetch_emojis()

This function is a coroutine.

ギルドのカスタム Emoji をすべて取得します。

注釈

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

例外

HTTPException -- 絵文字の取得中にエラーが発生した場合。

戻り値

取得した絵文字。

戻り値の型

List[Emoji]

await fetch_emoji(emoji_id, /)

This function is a coroutine.

ギルドのカスタム Emoji を取得します。

注釈

このメソッドはAPIを呼び出します。通常は emojis をイテレートして使用してください。

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

パラメータ

emoji_id (int) -- 絵文字のID。

例外
  • NotFound -- 絵文字が見つからなかった場合。

  • HTTPException -- 絵文字の取得中にエラーが発生した場合。

戻り値

取得した絵文字。

戻り値の型

Emoji

await create_custom_emoji(*, name, image, roles=..., reason=None)

This function is a coroutine.

カスタム Emoji をギルド内に作成します。

現在ギルドには静的絵文字・アニメーション付き絵文字それぞれ50個ごとの制限があります。ただし、 MORE_EMOJI 機能が有効化されたギルドでは、これは200個になります。

これを行うには、 manage_emojis が必要です。

パラメータ
  • name (str) -- 絵文字名。2文字以上でなければなりません。

  • image (bytes) -- 使用する画像データを表す bytes-like object 。JPG、PNG、GIF 画像のみがサポートされています。

  • roles (List[Role]) -- この絵文字を使用できる Rolelist 。空のリストを渡すと、誰でも使えるようになります。

  • reason (Optional[str]) -- 絵文字を作成する理由。監査ログに表示されます。

例外
  • Forbidden -- 絵文字を作成する権限がない場合。

  • HTTPException -- 絵文字の作成中にエラーが発生した場合。

戻り値

作成された絵文字。

戻り値の型

Emoji

await delete_emoji(emoji, /, *, reason=None)

This function is a coroutine.

ギルドのカスタム Emoji を削除します。

これを行うには、 manage_emojis が必要です。

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

パラメータ
  • emoji (abc.Snowflake) -- 削除する絵文字。

  • reason (Optional[str]) -- 絵文字を削除する理由。監査ログに表示されます。

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

  • HTTPException -- 絵文字の削除中にエラーが発生した場合。

await fetch_roles()

This function is a coroutine.

ギルドの Role をすべて取得します。

注釈

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

バージョン 1.3 で追加.

例外

HTTPException -- ロールの取得に失敗した場合。

戻り値

サーバー内の全てのロール。

戻り値の型

List[Role]

await create_role(*, name=..., permissions=..., color=..., colour=..., hoist=..., display_icon=..., mentionable=..., reason=None)

This function is a coroutine.

サーバーに Role を作成します。

すべてのフィールドはオプションです。

これを行うには、 manage_roles が必要です。

バージョン 1.6 で変更: intcolour キーワード引数に渡せるようになりました。

バージョン 2.0 で追加: display_icon キーワード引数が追加されました。

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

パラメータ
  • name (str) -- ロール名。デフォルトは 'new role' です。

  • permissions (Permissions) -- 持っている権限。デフォルトは権限がありません。

  • colour (Union[Colour, int]) -- ロールの色。デフォルトは Colour.default() です。 color というエイリアスが存在します。

  • hoist (bool) -- メンバーリストにロールを他と分けて表示するかどうかを示します。デフォルトは False です。

  • display_icon (Union[bytes, str]) -- ロールのアイコンを表す bytes-like object か、ロールのアイコンとして使用すべきユニコード絵文字である str 。PNGとJPEGのみサポートされています。これは featuresROLE_ICONS を含むギルドでのみ利用できます。

  • mentionable (bool) -- ロールをメンションできるかどうか。デフォルトは False です。

  • reason (Optional[str]) -- ロールを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- ロールを作成する権限がない場合。

  • HTTPException -- ロールの作成に失敗した場合。

  • TypeError -- 不正なキーワード引数を受け取った場合。

戻り値

新しく作成されたロール。

戻り値の型

Role

await edit_role_positions(positions, *, reason=None)

This function is a coroutine.

サーバーの Role のリストを一括編集します。

これを行うには、 manage_roles が必要です。

バージョン 1.4 で追加.

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

サンプル

positions = {
    bots_role: 1, # penultimate role
    tester_role: 2,
    admin_role: 6
}

await guild.edit_role_positions(positions=positions)
パラメータ
  • positions -- 与えられたロールの位置を変更するための、 Role をキーとし int を値とする dict

  • reason (Optional[str]) -- ロールの位置を編集する理由。監査ログに表示されます。

例外
  • Forbidden -- ロールを移動する権限がない場合。

  • HTTPException -- ロールの移動に失敗した場合。

  • TypeError -- 不正なキーワード引数を受け取った場合。

戻り値

サーバー内のすべてのロールのリスト。

戻り値の型

List[Role]

await welcome_screen()

This function is a coroutine.

ギルドのようこそ画面を返します。

featuresCOMMUNITY が含まれている必要があります。

これを行うには、 manage_guild も必要です。

バージョン 2.0 で追加.

例外
  • Forbidden -- 取得するのに適切な権限がない場合。

  • HTTPException -- ようこそ画面の取得に失敗した場合。

戻り値

ようこそ画面。

戻り値の型

WelcomeScreen

await edit_welcome_screen(*, description=..., welcome_channels=..., enabled=..., reason=None)

This function is a coroutine.

ようこそ画面を事前に取得せずに WelcomeScreen.edit を呼び出すことのできるメソッド。

featuresCOMMUNITY が含まれている必要があります。

You must have manage_guild to do this as well.

バージョン 2.0 で追加.

戻り値

編集した後のようこそ画面。

戻り値の型

WelcomeScreen

await kick(user, *, reason=None)

This function is a coroutine.

サーバーからユーザーをキックします。

ユーザーは abc.Snowflake 抽象基底クラスのサブクラスである必要があります。

これを行うには、 kick_members が必要です。

パラメータ
  • user (abc.Snowflake) -- ギルドからキックするユーザー。

  • reason (Optional[str]) -- ユーザーをキックする理由。

例外
  • Forbidden -- キックするのに適切な権限がない場合。

  • HTTPException -- キックに失敗した場合。

await ban(user, *, reason=None, delete_message_days=..., delete_message_seconds=...)

This function is a coroutine.

ギルドからユーザーをBANします。

ユーザーは abc.Snowflake 抽象基底クラスのサブクラスである必要があります。

これを行うには、 ban_members が必要です。

パラメータ
  • user (abc.Snowflake) -- ギルドからBANするユーザー。

  • delete_message_days (int) --

    このユーザーの何日分のメッセージをギルドから削除するか。最小は 0日 で、最大は 7日 です。 delete_message_daysdelete_message_seconds のどちらも渡されない場合、デフォルトは 1 日に指定されます。

    バージョン 2.1 で非推奨.

  • delete_message_seconds (int) --

    このユーザーの何秒分のメッセージをギルドから削除するか。最小は 0秒 で、最大は 604800秒 (7日) です。 delete_message_daysdelete_message_seconds のどちらも渡されない場合、デフォルトは 1 日に指定されます。

    バージョン 2.1 で追加.

  • reason (Optional[str]) -- ユーザーをBANする理由。

例外
  • NotFound -- ユーザーが見つからなかった場合。

  • Forbidden -- BANするのに適切な権限がない場合。

  • HTTPException -- BANに失敗した場合。

  • TypeError -- delete_message_daysdelete_message_seconds の両方を指定した場合。

await unban(user, *, reason=None)

This function is a coroutine.

ギルドにおける、ユーザーのBANを解除します。

ユーザーは abc.Snowflake 抽象基底クラスのサブクラスである必要があります。

これを行うには、 ban_members が必要です。

パラメータ
  • user (abc.Snowflake) -- BANを解除したいユーザー。

  • reason (Optional[str]) -- アクションを実行する理由。監査ログに表示されます。

例外
  • NotFound -- BAN解除対象が見つからなかった場合。

  • Forbidden -- BANを解除するのに適切な権限がない場合。

  • HTTPException -- BAN解除に失敗した場合。

await bulk_ban(users, *, reason=None, delete_message_seconds=86400)

This function is a coroutine.

Bans multiple users from the guild.

The users must meet the abc.Snowflake abc.

これを行うには、 ban_members が必要です。

バージョン 2.4 で追加.

パラメータ
  • users (Iterable[abc.Snowflake]) -- ギルドからBANするユーザー。

  • delete_message_seconds (int) -- The number of seconds worth of messages to delete from the user in the guild. The minimum is 0 and the maximum is 604800 (7 days). Defaults to 1 day.

  • reason (Optional[str]) -- The reason the users got banned.

例外
戻り値

The result of the bulk ban operation.

戻り値の型

BulkBanResult

property vanity_url

存在する場合、ギルドのDiscord バニティURLを返します。

バージョン 2.0 で追加.

Optional[str]

await vanity_invite()

This function is a coroutine.

ギルドの特別なバニティ招待を返します。

featuresVANITY_URL が含まれている必要があります。

これを行うには、 manage_guild も必要です。

例外
  • Forbidden -- 取得するのに適切な権限がない場合。

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

戻り値

特別なバニティ招待。これが None の場合ギルドにはバニティ招待がありません。

戻り値の型

Optional[Invite]

async for ... in audit_logs(*, limit=100, before=..., after=..., oldest_first=..., user=..., action=...)

ギルドの監査ログを取得する asynchronous iterator を返します。

これを行うには、 view_audit_log が必要です。

サンプル

最初の100項目を取得する:

async for entry in guild.audit_logs(limit=100):
    print(f'{entry.user} did {entry.action} to {entry.target}')

特定のアクションのエントリを取得する:

async for entry in guild.audit_logs(action=discord.AuditLogAction.ban):
    print(f'{entry.user} banned {entry.target}')

特定のユーザーによる項目の取得:

entries = [entry async for entry in guild.audit_logs(limit=None, user=guild.me)]
await channel.send(f'I made {len(entries)} moderation actions.')
パラメータ
  • limit (Optional[int]) -- 取得する項目数。None の場合すべての項目を取得します。

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

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

  • oldest_first (bool) -- True の場合、古いものから新しいものの順で項目を返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

  • user (abc.Snowflake) -- 項目をフィルターするためのモデレーター。

  • action (AuditLogAction) -- フィルターするアクション。

例外
  • Forbidden -- 監査ログを取得する権限がない場合。

  • HTTPException -- 監査ログ取得中にエラーが発生した場合。

列挙

AuditLogEntry -- 監査ログの項目。

await widget()

This function is a coroutine.

ギルドのウィジェットを返します。

注釈

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

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

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

戻り値

ギルドのウィジェット。

戻り値の型

Widget

await edit_widget(*, enabled=..., channel=..., reason=None)

This function is a coroutine.

ギルドのウィジェットを編集します。これは edit でも行えます。

これを行うには、 manage_guild が必要です。

バージョン 2.0 で追加.

パラメータ
  • enabled (bool) -- ギルドのウィジェットを有効にするかどうか。

  • channel (Optional[Snowflake]) -- 新しいウィジェットチャンネル。None を指定するとウィジェットチャンネルを除去できます。

  • reason (Optional[str]) -- ウィジェットを編集する理由。監査ログに表示されます。

例外
  • Forbidden -- ウィジェットを編集する権限がない場合。

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

await chunk(*, cache=True)

This function is a coroutine.

このギルドに所属するすべてのメンバーをリクエストします。これを使用するには、 Intents.members() を有効にする必要があります。

これはウェブソケットを使用していて、遅くなる可能性があります。

バージョン 1.5 で追加.

パラメータ

cache (bool) -- メンバーをキャッシュするかどうか。

例外

ClientException -- メンバーインテントが有効でない場合。

戻り値

ギルドのメンバーのリスト。

戻り値の型

List[Member]

await query_members(query=None, *, limit=5, user_ids=None, presences=False, cache=True)

This function is a coroutine.

ユーザー名またはニックネームが指定されたクエリで始まるギルドのメンバーをリクエストします。これはWebSocket操作です。

バージョン 1.3 で追加.

パラメータ
  • query (Optional[str]) -- ユーザー名またはニックネームの先頭の文字列。

  • limit (int) -- 取得するメンバーの最大数。5から100までの数にする必要があります。

  • presences (bool) --

    プレゼンスを取得するかどうか。デフォルトは False です。

    バージョン 1.6 で追加.

  • cache (bool) -- メンバーを内部でキャッシュするか。これを行うとマッチされたユーザーが get_member() などで取得できるようになります。

  • user_ids (Optional[List[int]]) --

    検索するユーザーIDの一覧。ユーザーIDがギルドに属さない場合は返されません。

    バージョン 1.4 で追加.

例外
  • asyncio.TimeoutError -- メンバーを待っている間にクエリがタイムアウトした場合。

  • ValueError -- 無効なパラメータが関数に渡された場合。

  • ClientException -- プレゼンスインテントが有効でない場合。

戻り値

クエリに一致するメンバーのリスト。

戻り値の型

List[Member]

await change_voice_state(*, channel, self_mute=False, self_deaf=False)

This function is a coroutine.

ギルド内のクライアントのボイス状態を変更します。

バージョン 1.4 で追加.

パラメータ
  • channel (Optional[abc.Snowflake]) -- クライアントが接続するチャンネル。切断するには None を渡してください。

  • self_mute (bool) -- クライアントをセルフミュートすべきか。

  • self_deaf (bool) -- クライアントをセルフスピーカーミュートすべきか。

await fetch_automod_rule(automod_rule_id, /)

This function is a coroutine.

ギルドの有効な自動管理ルールを取得します。

これを行うには、 Permissions.manage_guild が必要です。

バージョン 2.0 で追加.

パラメータ

automod_rule_id (int) -- 取得する自動管理ルールのID。

例外

Forbidden -- 自動管理ルールを取得する権限がない場合。

戻り値

取得した自動管理ルール。

戻り値の型

AutoModRule

await fetch_automod_rules()

This function is a coroutine.

ギルドの自動管理ルールをすべて取得します。

これを行うには、 Permissions.manage_guild が必要です。

バージョン 2.0 で追加.

例外
  • Forbidden -- 自動管理ルールを取得する権限がない場合。

  • NotFound -- ギルド内に自動管理ルールが存在しない場合。

戻り値

取得した自動管理ルール。

戻り値の型

List[AutoModRule]

await create_automod_rule(*, name, event_type, trigger, actions, enabled=False, exempt_roles=..., exempt_channels=..., reason=...)

This function is a coroutine.

自動管理ルールを作成します。

これを行うには、 Permissions.manage_guild が必要です。

バージョン 2.0 で追加.

パラメータ
  • name (str) -- 自動管理ルールの名前。

  • event_type (AutoModRuleEventType) -- 自動管理ルールが発動するイベントの種類。

  • trigger (AutoModTrigger) -- 自動管理ルールの発動条件。

  • actions (List[AutoModRuleAction]) -- 自動管理ルールが発動したときの対応。

  • enabled (bool) -- 自動管理ルールを有効にするか。デフォルトは False です。

  • exempt_roles (Sequence[abc.Snowflake]) -- 自動管理ルールの除外対象のロールのリスト。

  • exempt_channels (Sequence[abc.Snowflake]) -- 自動管理ルールの除外対象のチャンネルのリスト。

  • reason (str) -- 自動管理ルールを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- 自動管理ルールを作成する権限がない場合。

  • HTTPException -- 自動管理ルールの作成に失敗した場合。

戻り値

作成された自動管理ルール。

戻り値の型

AutoModRule

property invites_paused_until

If invites are paused, returns when invites will get enabled in UTC, otherwise returns None.

バージョン 2.4 で追加.

Optional[datetime.datetime]

property dms_paused_until

If DMs are paused, returns when DMs will get enabled in UTC, otherwise returns None.

バージョン 2.4 で追加.

Optional[datetime.datetime]

invites_paused()

bool: Whether invites are paused in the guild.

バージョン 2.4 で追加.

dms_paused()

bool: Whether DMs are paused in the guild.

バージョン 2.4 で追加.

class discord.BanEntry

bans() から返されたBANを表すnamedtuple。

reason

ユーザーがBANされた理由。

Optional[str]

user

BANされた User

User

class discord.BulkBanResult

A namedtuple which represents the result returned from bulk_ban().

バージョン 2.4 で追加.

banned

The list of users that were banned. The inner Object of the list has the Object.type set to User.

List[Object]

failed

The list of users that could not be banned. The inner Object of the list has the Object.type set to User.

List[Object]

ScheduledEvent

class discord.ScheduledEvent

ギルドのスケジュールイベント。

バージョン 2.0 で追加.

x == y

二つのスケジュールイベントが等しいかを比較します。

x != y

二つのスケジュールイベントが等しくないかを比較します。

hash(x)

スケジュールイベントのハッシュ値を返します。

id

スケジュールイベントのID。

int

name

スケジュールイベントの名前。

str

description

スケジュールイベントの説明。

Optional[str]

entity_type

イベントの開催場所の種類。

EntityType

entity_id

利用可能な場合、イベントのエンティティID。

Optional[int]

start_time

スケジュールイベントのUTCの開始予定時間。

datetime.datetime

end_time

スケジュールイベントのUTCの終了予定時間。

Optional[datetime.datetime]

privacy_level

スケジュールイベントのプライバシーレベル。

PrivacyLevel

status

スケジュールイベントのステータス。

EventStatus

user_count

スケジュールイベントに購読しているユーザー数。

int

creator

スケジュールイベントを作成したユーザー。

Optional[User]

creator_id

スケジュールイベントを作成したユーザーのID。

バージョン 2.2 で追加.

Optional[int]

location

スケジュールイベントの場所。

Optional[str]

property cover_image

スケジュールイベントのカバー画像。

Optional[Asset]

property guild

スケジュールイベントの属するギルド。

Optional[Guild]

property channel

スケジュールイベントの属するチャンネル。

Optional[Union[VoiceChannel, StageChannel]]

property url

スケジュールイベントのURL。

str

await start(*, reason=None)

This function is a coroutine.

スケジュールイベントを開始します。

以下の短縮形です:

await event.edit(status=EventStatus.active)
パラメータ

reason (Optional[str]) -- スケジュールイベントの開始理由。

例外
  • ValueError -- スケジュールイベントが既に開始し、または終了している場合。

  • Forbidden -- スケジュールイベントを開始するのに必要な権限がない場合。

  • HTTPException -- スケジュールイベントを開始できなかった場合。

戻り値

開始されたスケジュールイベント。

戻り値の型

ScheduledEvent

await end(*, reason=None)

This function is a coroutine.

スケジュールイベントを終了します。

以下の短縮形です:

await event.edit(status=EventStatus.completed)
パラメータ

reason (Optional[str]) -- スケジュールイベントの終了理由。

例外
  • ValueError -- スケジュールイベントがアクティブでないか、既に終了している場合。

  • Forbidden -- スケジュールイベントを終了するのに必要な権限がない場合。

  • HTTPException -- スケジュールイベントを終了できなかった場合。

戻り値

終了されたスケジュールイベント。

戻り値の型

ScheduledEvent

await cancel(*, reason=None)

This function is a coroutine.

スケジュールイベントをキャンセルします。

以下の短縮形です:

await event.edit(status=EventStatus.cancelled)
パラメータ

reason (Optional[str]) -- スケジュールイベントのキャンセル理由。

例外
  • ValueError -- スケジュールイベントが既に開始している場合。

  • Forbidden -- スケジュールイベントをキャンセルするのに必要な権限がない場合。

  • HTTPException -- スケジュールイベントをキャンセルできなかった場合。

戻り値

キャンセルされたスケジュールイベント。

戻り値の型

ScheduledEvent

await edit(*, name=..., description=..., channel=..., start_time=..., end_time=..., privacy_level=..., entity_type=..., status=..., image=..., location=..., reason=None)

This function is a coroutine.

スケジュールイベントを編集します。

これを行うには、 manage_events が必要です。

パラメータ
  • name (str) -- スケジュールイベントの名前。

  • description (str) -- スケジュールイベントの説明。

  • channel (Optional[Snowflake]) -- スケジュールイベントを開催するチャンネル。もしチャンネルが StageInstance または VoiceChannel ならば、開催場所の種類が自動で設定されます。 開催場所の種類が EntityType.voice または EntityType.stage_instance の場合必須です。

  • start_time (datetime.datetime) -- スケジュールイベントの開始予定時刻。これはtimezone awareなdatetimeオブジェクトでないといけません。 utils.utcnow() を使用してみてください。

  • end_time (Optional[datetime.datetime]) -- スケジュールイベントの終了予定時刻。これはtimezone awareなdatetimeオブジェクトでないといけません。 utils.utcnow() を使用してみてください。もし開催場所が EntityType.voiceEntityType.stage_instance の場合はこれは None を渡して除去することができます。 entity_typeEntityType.external の場合必須です。

  • privacy_level (PrivacyLevel) -- スケジュールイベントのプライバシーレベル。

  • entity_type (EntityType) -- 新しいスケジュールイベントの開催場所の種類。もしチャンネルが StageInstance または VoiceChannel の場合これは適切な種類に自動で設定されます。

  • status (EventStatus) -- スケジュールイベントの新しいステータス。

  • image (Optional[bytes]) -- スケジュールイベントの新しい画像。 None を渡すと画像を削除できます。

  • location (str) -- 新しいスケジュールイベントの場所。開催場所の種類が EntityType.external の場合必須です。

  • reason (Optional[str]) -- スケジュールイベントを編集する理由。監査ログに表示されます。

例外
  • TypeError -- imagebytes-like object でない場合、 privacy_levelPrivacyLevel でない場合、 entity_typeEntityType でない場合、 statusEventStatus でない場合、または引数がスケジュールイベントの開催場所の種類と互換性のない場合。

  • ValueError -- start_timeend_time がtimezone awareなdatetimeオブジェクトでない場合。

  • Forbidden -- スケジュールイベントを編集するのに必要な権限がない場合。

  • HTTPException -- スケジュールイベントの編集に失敗した場合。

戻り値

編集されたスケジュールイベント。

戻り値の型

ScheduledEvent

await delete(*, reason=None)

This function is a coroutine.

スケジュールイベントを削除します。

これを行うには、 manage_events が必要です。

パラメータ

reason (Optional[str]) -- スケジュールイベントを削除する理由。監査ログに表示されます。

例外
  • Forbidden -- スケジュールイベントを削除する権限がない場合。

  • HTTPException -- スケジュールイベントの削除に失敗した場合。

async for ... in users(*, limit=None, before=None, after=None, oldest_first=...)

This function is a coroutine.

このイベントを購読しているすべての User を取得します。

あなた自身以外のメンバーに関する情報を取得するには、 Intents.members が必要です。

例外

HTTPException -- メンバーの取得に失敗した場合。

戻り値

このイベントに購読済みのユーザー。

戻り値の型

List[User]

Integration

Methods
class discord.Integration

ギルドの連携サービス。

バージョン 1.4 で追加.

id

連携サービスID。

int

name

連携サービス名。

str

guild

連携サービスが属するギルド。

Guild

type

連携サービスタイプ (例: Twitch)。

str

enabled

連携サービスが現在有効化されているか。

bool

account

この連携サービスにリンクされたアカウント。

IntegrationAccount

user

連携サービスを追加したユーザー。

User

await delete(*, reason=None)

This function is a coroutine.

この連携サービスを削除します。

これを行うには、 manage_guild が必要です。

パラメータ

reason (str) --

連携サービスを削除する理由。監査ログに表示されます。

バージョン 2.0 で追加.

例外
  • Forbidden -- 連携サービスを削除する権限がない場合。

  • HTTPException -- 連携サービスの削除に失敗した場合。

Attributes
class discord.IntegrationAccount

連携サービスのアカウント。

バージョン 1.4 で追加.

id

アカウントID。

str

name

アカウント名。

str

class discord.BotIntegration

Discordのボット連携サービス。

バージョン 2.0 で追加.

id

連携サービスID。

int

name

連携サービス名。

str

guild

連携サービスが属するギルド。

Guild

type

連携サービスタイプ (例: Twitch)。

str

enabled

連携サービスが現在有効化されているか。

bool

user

連携サービスを追加したユーザー。

User

account

連携サービスのアカウント情報。

IntegrationAccount

application

この連携サービスにリンクされたアプリケーション。

IntegrationApplication

class discord.IntegrationApplication

ボット連携サービスのアプリケーション。

バージョン 2.0 で追加.

id

アプリケーションのID。

int

name

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

str

icon

アプリケーションのアイコンハッシュ。

Optional[str]

description

アプリケーションの説明。空の文字列である場合があります。

str

summary

アプリケーションの概要。空の文字列である場合があります。

str

user

アプリケーションのボットユーザー。

Optional[User]

class discord.StreamIntegration

TwitchやYouTubeのストリーム連携サービス。

バージョン 2.0 で追加.

id

連携サービスID。

int

name

連携サービス名。

str

guild

連携サービスが属するギルド。

Guild

type

連携サービスタイプ (例: Twitch)。

str

enabled

連携サービスが現在有効化されているか。

bool

syncing

連携サービスが現在同期されているか。

bool

enable_emoticons

この連携サービスで絵文字を同期するか(現在Twitch専用)。

Optional[bool]

expire_behaviour

期限切れのサブスクライバーの動作。 expire_behavior というエイリアスが存在します。

ExpireBehaviour

expire_grace_period

期限切れのサブスクライバーの猶予期間(日数)。

int

user

連携サービスのユーザー。

User

account

連携サービスのアカウント情報。

IntegrationAccount

synced_at

連携サービスが最後に同期された日時を示すaware UTC datetime。

datetime.datetime

property expire_behavior

expire_behaviour のエイリアス

ExpireBehaviour

property role

Optional[Role] 連携サービスがサブスクライバーに付与するロール。

await edit(*, expire_behaviour=..., expire_grace_period=..., enable_emoticons=...)

This function is a coroutine.

連携サービスを編集します。

これを行うには、 manage_guild が必要です。

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

パラメータ
  • expire_behaviour (ExpireBehaviour) -- 期限切れのサブスクライバーの動作。 expire_behavior というエイリアスが存在します。

  • expire_grace_period (int) -- 連携サービスがサブスクリプションが終了したユーザーに与える猶予期間(日数)。

  • enable_emoticons (bool) -- この連携サービスで絵文字を同期するか(現在Twitch専用)。

例外
await sync()

This function is a coroutine.

連携サービスを同期します。

これを行うには、 manage_guild が必要です。

例外
  • Forbidden -- 連携サービスを同期する権限がない場合。

  • HTTPException -- 連携サービスの同期に失敗した場合。

class discord.PartialIntegration

不完全なギルドの連携サービス。

バージョン 2.0 で追加.

id

連携サービスID。

int

name

連携サービス名。

str

guild

連携サービスが属するギルド。

Guild

type

連携サービスタイプ (例: Twitch)。

str

account

この連携サービスにリンクされたアカウント。

IntegrationAccount

application_id

このインテグレーションが属するアプリケーションのID。

Optional[int]

Member

class discord.Member

Guild 内のDiscordのメンバー。

User にある多くの機能が、これにも実装されています。

x == y

2人のメンバーが等しいかを比較します。これは User インスタンスにおいても同様に動作することに注意してください。

x != y

2人のメンバーが等しくないかを比較します。これは User インスタンスにおいても同様に動作することに注意してください。

hash(x)

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

str(x)

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

joined_at

メンバーがギルドに参加した日時をUTCで示すaware datetimeオブジェクト。もしメンバーが脱退し再参加した場合、これは直近のものを反映します。場合によってこれは None になりえます。

Optional[datetime.datetime]

activities

ユーザーが現在行っているアクティビティ。

注釈

Discord APIの制限により、題名が128文字を超える音楽を聴いているユーザーのSpotifyアクティビティは現れない場合があります。詳細は GH-1738 を確認してください。

Tuple[Union[BaseActivity, Spotify]]

guild

メンバーが属するギルド。

Guild

nick

ユーザーのギルド内専用のニックネーム。グローバルの表示名よりも優先されます。

Optional[str]

pending

メンバーがメンバー認証待ちであるかどうか。

バージョン 1.6 で追加.

bool

premium_since

利用可能な場合、メンバーがギルドで「Nitroブースト」を使用したUTCでの日時を示すaware datetimeオブジェクト。これは None の場合があります。

Optional[datetime.datetime]

timed_out_until

利用可能な場合、メンバーのギルド内のタイムアウトが満了するUTCでの日時を示すaware datetimeオブジェクト。これは None の場合があります。

バージョン 2.0 で追加.

Optional[datetime.datetime]

async with typing()

入力インジケーターを宛先に無期限で、または await で呼び出された場合10秒間表示できるようにする非同期コンテキストマネージャーを返します。

使用例:

async with channel.typing():
    # simulate something heavy
    await asyncio.sleep(20)

await channel.send('Done!')

使用例:

await channel.typing()
# Do some computational magic for about 10 seconds
await channel.send('Done!')

バージョン 2.0 で変更: これは with 構文で動作せず、代わりに async with を使用しないといけないように変更されました。

バージョン 2.0 で変更: コンテキストマネージャーを await して入力インジケーターを10秒間送信する機能を追加しました。

property name

User.name と同じです。

property id

User.id と同じです。

property discriminator

User.discriminator と同じです。

property global_name

User.global_name と同じです。

property bot

User.bot と同じです。

property system

User.system と同じです。

property created_at

User.created_at と同じです。

property default_avatar

User.default_avatar と同じです。

property avatar

User.avatar と同じです。

property dm_channel

User.dm_channel と同じです。

await create_dm()

This function is a coroutine.

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

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

戻り値

作成されたチャンネル。

戻り値の型

DMChannel

property mutual_guilds

User.mutual_guilds と同じです。

property public_flags

User.public_flags と同じです。

property banner

User.banner と同じです。

property accent_color

User.accent_color と同じです。

property accent_colour

User.accent_colour と同じです。

property avatar_decoration

Equivalent to User.avatar_decoration

property avatar_decoration_sku_id

Equivalent to User.avatar_decoration_sku_id

property raw_status

メンバーのステータスを文字列として返します。

バージョン 1.5 で追加.

str

property status

メンバーのステータス。値が不明なものである場合これは str になります。

Status

property mobile_status

該当する場合は、モバイルデバイス上のメンバーのステータスです。

Status

property desktop_status

該当する場合は、デスクトップクライアント上のメンバーのステータスです。

Status

property web_status

該当する場合は、ウェブクライアント上のメンバーのステータスです。

Status

is_on_mobile()

bool: メンバーがモバイルデバイス上でアクティブかどうかを判断するヘルパー関数。

property colour

メンバーのレンダリングされた色を返すプロパティ。 デフォルトの色がレンダリングされている場合、 Colour.default() が返されます。

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

Colour

property color

メンバーのレンダリングされた色を返すプロパティ。 デフォルトの色がレンダリングされている場合、 Colour.default() が返されます。

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

Colour

property roles

メンバーが属する Rolelist 。このリストの最初の要素は必ずデフォルトの @everyone ロールです。

ロールはロールの階層順によってソートされています。

List[Role]

property display_icon

このメンバーに対してレンダリングされるロールアイコンを返すプロパティ。アイコンが表示されない場合は None が返されます。

バージョン 2.0 で追加.

Optional[Union[str, Asset]]

property mention

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

str

property display_name

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

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

str

property display_avatar

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

通常であれば、これはアバターがそのまま返りますが、ギルド固有アバターを設定している場合は、代替としてそれが返ります。

バージョン 2.0 で追加.

Asset

property guild_avatar

メンバーが持つギルドアバターの Asset を返します。利用できない場合は None を返します。

バージョン 2.0 で追加.

Optional[Asset]

property activity

ユーザーが現在行っている主なアクティビティを返します。何も行われていない場合は None の場合があります。

注釈

Discord APIの制限により、ユーザーが題名が128文字を超える音楽をSpotifyで聴いている場合はこれが None になるかもしれません。詳細は GH-1738 を確認してください。

注釈

ユーザーは複数のアクティビティを行っていることがあります。これらは activities でアクセスできます。

Optional[Union[BaseActivity, Spotify]]

mentioned_in(message)

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

パラメータ

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

戻り値

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

戻り値の型

bool

property top_role

メンバーの最高のロールを返します。

これは、メンバーがロール階層のどの位置に属するかを調べるのに便利です。

Role

property guild_permissions

メンバーのギルド権限を返します。

これは、ギルドの権限のみ考慮し、暗示された権限やチャンネルの権限上書きは考慮しません。100%正確な権限計算を行う場合は abc.GuildChannel.permissions_for() を使用してください。

これはギルドの所有権、管理者権限、メンバーがタイムアウトされているかどうかを考慮します。

バージョン 2.0 で変更: メンバータイムアウトを考慮するようになりました。

Permissions

property resolved_permissions

インタラクションにより与えられたメンバーの解決済み権限を返します。

これはインタラクション内でのみ利用できインタラクションが実行されたチャンネルでのメンバーの権限を示します。これは abc.GuildChannel.permissions_for() と同様ですが、算出されたものではなく、Discord APIによって保管され、渡されたものです。

バージョン 2.0 で追加.

Optional[Permissions]

property voice

メンバーの現在のボイス状態を返します。

Optional[VoiceState]

property flags

メンバーのフラグを返します。

バージョン 2.2 で追加.

MemberFlags

await ban(*, delete_message_days=..., delete_message_seconds=..., reason=None)

This function is a coroutine.

このメンバーをBANします。 Guild.ban() と同等です。

await unban(*, reason=None)

This function is a coroutine.

このメンバーのBANを解除します。 Guild.unban() と同等です。

await kick(*, reason=None)

This function is a coroutine.

このメンバーを追放します。 Guild.kick() と同等です。

await edit(*, nick=..., mute=..., deafen=..., suppress=..., roles=..., voice_channel=..., timed_out_until=..., bypass_verification=..., reason=None)

This function is a coroutine.

メンバーデータを編集します。

渡されたパラメータに応じて、以下のような権限が必要です:

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

バージョン 1.1 で変更: Nonevoice_channel に渡してボイスからメンバーを追放できるようになりました。

バージョン 2.0 で変更: 可能な場合、新しく更新されたメンバーが返されるようになりました。

パラメータ
  • nick (Optional[str]) -- メンバーの新しいニックネーム。ニックネームを除去する場合は None を渡してください。

  • mute (bool) -- メンバーがギルドミュートまたはミュート解除されるべきかどうかを示します。

  • deafen (bool) -- メンバーがギルドスピーカーミュートまたはスピーカーミュート解除されるべきかどうかを示します。

  • suppress (bool) --

    ステージチャンネルでメンバーを抑制するかどうかを示します。

    バージョン 1.7 で追加.

  • roles (List[Role]) -- メンバーの新しいロールのリスト。これは以前のものを 置き換えます

  • voice_channel (Optional[Union[VoiceChannel, StageChannel]]) -- メンバーの移動先のボイスチャンネル。 None を渡すとボイスから退出させることができます。

  • timed_out_until (Optional[datetime.datetime]) --

    メンバーのタイムアウトの満了日時。 None を渡すとタイムアウトを除去できます。これはtimezone awareなdatetimeオブジェクトでないといけません。 utils.utcnow() の使用を検討してください。

    バージョン 2.0 で追加.

  • bypass_verification (bool) --

    メンバーがギルドの認証要件をバイパスできるかどうかを示します。

    バージョン 2.2 で追加.

  • reason (Optional[str]) -- メンバーを編集する理由。監査ログに表示されます。

例外
  • Forbidden -- You do not have the proper permissions to do the action requested.

  • HTTPException -- 操作に失敗した場合。

  • TypeError -- timed_out_until に渡されたdatetimeオブジェクトがtimezone awareでない場合。

戻り値

該当する場合、新しく更新されたメンバー。 suppress などの一部の項目が更新された場合は返されません。

戻り値の型

Optional[Member]

await request_to_speak()

This function is a coroutine.

接続されたチャンネルで話すことを要求します。

ステージチャンネルにのみ適用されます。

注釈

クライアントでないメンバーをリクエストした場合は、 edit を、 suppress パラメータを False にして呼び出すのと同等です。

バージョン 1.7 で追加.

例外
  • ClientException -- ボイスチャンネルに接続していない場合。

  • Forbidden -- You do not have the proper permissions to do the action requested.

  • HTTPException -- 操作に失敗した場合。

await move_to(channel, *, reason=None)

This function is a coroutine.

メンバーを別のボイスチャンネルに移動します。(メンバーは既に接続されていないといけません。)

これを行うには、 move_members が必要です。

edit() と同じ例外を送出します。

バージョン 1.1 で変更: None を渡してボイスからメンバーを追放できるようになりました。

パラメータ
  • channel (Optional[Union[VoiceChannel, StageChannel]]) -- メンバーの移動先のボイスチャンネル。 None を渡すとボイスから退出させることができます。

  • reason (Optional[str]) -- アクションを実行する理由。監査ログに表示されます。

await timeout(until, /, *, reason=None)

This function is a coroutine.

指定された日時まで、または与えられた datetime.timedelta の間、メンバーをタイムアウトさせます。

これを行うには、 moderate_members が必要です。

edit() と同じ例外を送出します。

パラメータ
  • until (Optional[Union[datetime.timedelta, datetime.datetime]]) -- もしこれが datetime.timedelta の場合はこれはメンバーがタイムアウトされるべき期間を表します。もしこれが datetime.datetime の場合はこれはメンバーのタイムアウトが満了すべき日時です。 None を渡すとタイムアウトが除去されます。なお、APIがタイムアウトの最大日数を28日に制限していることに注意してください。

  • reason (Optional[str]) -- アクションを実行する理由。監査ログに表示されます。

例外

TypeError -- until パラメータの型が間違っていたか、timezone-awareでない場合。

await add_roles(*roles, reason=None, atomic=True)

This function is a coroutine.

メンバーに Role を付与します。

これを行うには manage_roles が必要で、また付与された Role はメンバーの最高のロールより下の階層にないといけません。

パラメータ
  • *roles (abc.Snowflake) -- メンバーに付与する Role である abc.Snowflake の引数リスト。

  • reason (Optional[str]) -- ロールを付与する理由。監査ログに表示されます。

  • atomic (bool) -- ロールをアトミックに付与するか。これは現在のキャッシュの状態にかかわらず複数の操作が適用されることを保証します。

例外
  • Forbidden -- ロールを付与する権限がない場合。

  • HTTPException -- ロールの付与に失敗した場合。

await remove_roles(*roles, reason=None, atomic=True)

This function is a coroutine.

このメンバーから Role を除去します。

これを行うには manage_roles が必要で、また除去された Role はメンバーの最高のロールより下の階層にないといけません。

パラメータ
  • *roles (abc.Snowflake) -- メンバーから除去する Role である abc.Snowflake の引数リスト。

  • reason (Optional[str]) -- ロールを除去する理由。監査ログに表示されます。

  • atomic (bool) -- ロールをアトミックに除去するか。これは現在のキャッシュの状態にかかわらず複数の操作が適用されることを保証します。

例外
  • Forbidden -- ロールを除去する権限がない場合。

  • HTTPException -- ロールの除去に失敗した場合。

await fetch_message(id, /)

This function is a coroutine.

宛先から、単一の Message を取得します。

パラメータ

id (int) -- 探すメッセージのID。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

要求されたメッセージ。

戻り値の型

Message

get_role(role_id, /)

メンバーの持つロールのうち、与えられたIDを持つものを返します。

バージョン 2.0 で追加.

パラメータ

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

戻り値

ロール、またはメンバーのロール内に見つからない場合は None

戻り値の型

Optional[Role]

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)

チャンネルのメッセージ履歴を取得する asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

サンプル

使い方

counter = 0
async for message in channel.history(limit=200):
    if message.author == client.user:
        counter += 1

リストにフラット化:

messages = [message async for message in channel.history(limit=123)]
# messages is now a list of Message...

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

パラメータ
  • limit (Optional[int]) -- 取得するメッセージの数。 None の場合、チャンネル内のメッセージすべてを取得します。ただし、これには時間がかかります。

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

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

  • around (Optional[Union[Snowflake, datetime.datetime]]) -- 渡された日付、またはメッセージあたりのメッセージを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。この引数を使用するときは、取得できる最大のメッセージ数は101個です。もし制限が偶数の場合は最大でそれに1を加えた分だけ返します。

  • oldest_first (Optional[bool]) -- True の場合、古いものから新しいものの順でメッセージを返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

例外
  • Forbidden -- メッセージ履歴を読む権限が無い場合。

  • HTTPException -- メッセージ履歴の取得に失敗した場合。

列挙

Message -- メッセージデータをパースしたメッセージ。

await pins()

This function is a coroutine.

現時点でチャンネルにピン留めされている全てのメッセージを取得します。

注釈

Discord APIの制限により、このメソッドの返した Message オブジェクトには、完全な Message.reactions のデータが含まれていません。

例外
  • Forbidden -- ピン留めされたメッセージの取得に必要な権限がない場合。

  • HTTPException -- ピン留めされたメッセージの取得に失敗した場合。

戻り値

現時点でピン留めされているメッセージ。

戻り値の型

List[Message]

await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, silent=False)

This function is a coroutine.

指定された内容のメッセージを宛先に送信します。

contentは、 str(content) によって文字列に変換が可能である必要があります。もしcontentに None (デフォルト) を指定するなら、 embed パラメータを設定する必要があります。

単一のファイルをアップロードするには、 file パラメータに File オブジェクトを指定する必要があります。複数のファイルをアップロードするには、 files パラメータに File オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

単一の埋め込みを送信するには、 embed パラメータに Embed オブジェクトを指定する必要があります。複数の埋め込みを送信するには、 embeds パラメータに Embed オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

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

パラメータ
  • content (Optional[str]) -- 送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) --

    送信する埋め込みのリスト。最大10個まで送信できます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • nonce (int) -- メッセージの送信時に使用するナンス値。メッセージが正常に送信された場合、このメッセージには指定されたナンス値が含まれます。

  • delete_after (float) -- 指定したなら、これはメッセージを送信したあと待機し、すぐ削除する秒数となります。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (AllowedMentions) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • reference (Union[Message, MessageReference, PartialMessage]) --

    返信する Message への参照。これは、 to_reference() を使用して作成することができ、また Message を直接渡すこともできます。これが返信元のメッセージの投稿者をメンションすべきかは、 allowed_mentionsreplied_user 属性や、 mention_author パラメータで制御できます。

    バージョン 1.6 で追加.

  • mention_author (Optional[bool]) --

    設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

    バージョン 1.6 で追加.

  • view (discord.ui.View) --

    メッセージに追加するDiscord UI ビュー。

    バージョン 2.0 で追加.

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) --

    送信するスタンプのリスト。最大3個まで送信できます。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、 embedembeds の両方が指定された場合、または referenceMessageMessageReferencePartialMessage でない場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

is_timed_out()

このメンバーがタイムアウトされているかどうかを返します。

バージョン 2.0 で追加.

戻り値

メンバーがタイムアウトした場合は True 。そうでなければ、 False

戻り値の型

bool

Spotify

class discord.Spotify

DiscordのSpotifyリスニングアクティビティ。これはSpotify連携サービスの取り扱いを簡単にするようにした Activity の特殊なケースです。

x == y

2つのアクティビティーが同一か比較します。

x != y

2つのアクティビティーが同一でないか比較します。

hash(x)

アクティビティのハッシュ値を返します。

str(x)

文字列 'Spotify' を返します。

property type

アクティビティのタイプを返します。これは Activity との互換性のためです。

これは常に ActivityType.listening を返します。

ActivityType

property created_at

ユーザーがリスニングを開始したときのUTC時刻。

バージョン 1.3 で追加.

Optional[datetime.datetime]

property colour

Spotifyの連携サービスの色を Colour として返します。

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

Colour

property color

Spotifyの連携サービスの色を Colour として返します。

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

Colour

property name

アクティビティの名前。常に「Spotify」が返されます。

str

property title

再生中の音楽の題名。

str

property artists

再生中の音楽の演奏者。

List[str]

property artist

再生中の音楽の演奏者。

これはアーティスト情報を分割しようとしないため、一人しかいない場合に便利です。

str

property album

再生中の音楽が属するアルバム。

str

property album_cover_url

Spotify CDNのアルバムカバー画像URL。

str

property track_id

Spotifyがこの音楽を識別するのに使用するトラックID。

str

property track_url

Spotify上のトラックURL。

バージョン 2.0 で追加.

str

property start

ユーザーが再生を開始したときのUTC時刻。

datetime.datetime

property end

ユーザーが再生を終了する予定のUTC時刻。

datetime.datetime

property duration

再生中の音楽の長さ。

datetime.timedelta

property party_id

リスニングパーティーのパーティーID。

str

VoiceState

class discord.VoiceState

Discordユーザーのボイス状態を表します。

deaf

ユーザーがギルドによってスピーカーミュートされているかを示します。

bool

mute

ユーザーがギルドによってミュートされているかを示します。

bool

self_mute

ユーザーが自分の意思によりミュートしているかを示します。

bool

self_deaf

ユーザーが自分の意思によりスピーカーミュートしているかを示します。

bool

self_stream

ユーザーが現在Go Live機能でストリーム中かを示します。

バージョン 1.3 で追加.

bool

self_video

ユーザーが動画配信中かを示します。

bool

suppress

ユーザーの会話が抑制されているかを示します。

ステージチャンネルにのみ適用されます。

バージョン 1.7 で追加.

bool

requested_to_speak_at

メンバーが話すことを要求したUTCでの日時を示すaware datetimeオブジェクト。話すことを要求していない場合や要求が承認された場合は None になります。

ステージチャンネルにのみ適用されます。

バージョン 1.7 で追加.

Optional[datetime.datetime]

afk

ユーザーがギルドのAFKチャンネルにいるかどうかを示します。

bool

channel

ユーザーが現在接続しているボイスチャンネル。ユーザーがボイスチャンネルに接続していない場合は None

Optional[Union[VoiceChannel, StageChannel]]

Emoji

class discord.Emoji

カスタム絵文字を表します。

このオブジェクトの作成方法によって、属性の一部が None の値になることがあります。

x == y

2つの絵文字が等しいものか比較します。

x != y

2つの絵文字が等しいものではないか比較します。

hash(x)

絵文字のハッシュ値を返します。

iter(x)

(field, value) ペアのイテレータを返します。これにより、このクラスを list/dictなどの作成時にイテラブルとして使用できます。

str(x)

Discordでレンダリングされる絵文字を返します。

name

この絵文字の名前。

str

id

絵文字のID。

int

require_colons

この絵文字をクライアントで使用する場合にコロンが必要であるかどうか (:PJSalt: vs PJSalt)。

bool

animated

絵文字がアニメーション付きかどうか。

bool

managed

この絵文字がTwitch連携によって管理されているかどうか。

bool

guild_id

絵文字が属するギルドのID。

int

available

絵文字を使用できるかどうか。

bool

user

絵文字を作成したユーザー。これは Guild.fetch_emoji() 経由で、かつ manage_emojis を持つユーザーによってのみ取得できます。

Optional[User]

property created_at

絵文字の作成された時間をUTCで返します。

datetime.datetime

property url

絵文字の URL を返します。

str

property roles

この絵文字を使用することが許可されているロールの list

これが空の場合、制限はありません。

List[Role]

property guild

絵文字が属するギルド。

Guild

is_usable()

bool: ボットがこの絵文字を使用できるかどうか。

バージョン 1.3 で追加.

await delete(*, reason=None)

This function is a coroutine.

カスタム絵文字を削除します。

これを行うには、 manage_emojis が必要です。

パラメータ

reason (Optional[str]) -- 絵文字を削除する理由。監査ログに表示されます。

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

  • HTTPException -- 絵文字の削除中にエラーが発生した場合。

await edit(*, name=..., roles=..., reason=None)

This function is a coroutine.

カスタム絵文字を編集します。

これを行うには、 manage_emojis が必要です。

バージョン 2.0 で変更: 新しく更新された絵文字が返されるようになりました。

パラメータ
  • name (str) -- 新しい絵文字の名前。

  • roles (List[Snowflake]) -- この絵文字を使用できるロールのリスト。空のリストを渡すと、誰でも使えるようになります。

  • reason (Optional[str]) -- 絵文字を編集する理由。監査ログに表示されます。

例外
  • Forbidden -- 絵文字を編集する権限がない場合。

  • HTTPException -- 絵文字の編集中にエラーが発生した場合。

戻り値

新しく更新された絵文字。

戻り値の型

Emoji

await read()

This function is a coroutine.

このアセットの内容を bytes オブジェクトとして取得します。

例外
  • DiscordException -- 内部の接続ステートが存在しない場合。

  • HTTPException -- アセットのダウンロードに失敗した場合。

  • NotFound -- アセットが削除された場合。

戻り値

アセットの内容。

戻り値の型

bytes

await save(fp, *, seek_begin=True)

This function is a coroutine.

このアセットをファイルライクオブジェクトに保存します。

パラメータ
  • fp (Union[io.BufferedIOBase, os.PathLike]) -- このアセットの保存先となるファイルのようなオブジェクト、または使用するファイル名。ファイル名を指定すると、そのファイル名でファイルが作成され、代わりに使用されます。

  • seek_begin (bool) -- 正常に保存した後にファイルの先頭にシークすべきか。

例外
  • DiscordException -- 内部の接続ステートが存在しない場合。

  • HTTPException -- アセットのダウンロードに失敗した場合。

  • NotFound -- アセットが削除された場合。

戻り値

書き込まれたバイト数。

戻り値の型

int

await to_file(*, filename=..., description=None, spoiler=False)

This function is a coroutine.

アセットを abc.Messageable.send() を介して送信するのに適した File に変換します。

バージョン 2.0 で追加.

パラメータ
  • filename (Optional[str]) -- ファイルのファイル名。指定されていない場合は、アセットのURL由来のファイル名が使用されます。

  • description (Optional[str]) -- ファイルの説明。

  • spoiler (bool) -- このファイルがスポイラーを含むか。

例外
  • DiscordException -- アセットにステートが付属していない場合。

  • ValueError -- アセットがユニコード絵文字である場合。

  • TypeError -- アセットがロッティータイプのスタンプであった場合。

  • HTTPException -- アセットのダウンロードに失敗した場合。

  • NotFound -- アセットが削除された場合。

戻り値

送信に適したファイルとしてのアセット。

戻り値の型

File

PartialEmoji

class discord.PartialEmoji

「部分的な」絵文字を表します。

これは以下の2つの場合に提供されます:

x == y

2つの絵文字が等しいものか比較します。

x != y

2つの絵文字が等しいものではないか比較します。

hash(x)

絵文字のハッシュ値を返します。

str(x)

Discordでレンダリングされる絵文字を返します。

name

カスタム絵文字の名前か、カスタム絵文字でない絵文字のユニコードコードポイント。これは絵文字が削除されていた場合(例:削除された絵文字のリアクションを除去する場合) None になります。

Optional[str]

animated

絵文字がアニメーション付きかどうか。

bool

id

該当する場合、カスタム絵文字のID。

Optional[int]

classmethod from_str(value)

Discordの文字列形式で表現された絵文字を PartialEmoji に変換します。

以下の形式が利用できます:

  • a:name:id

  • <a:name:id>

  • name:id

  • <:name:id>

これらの形式に当てはまらない場合はユニコード絵文字とみなされます。

バージョン 2.0 で追加.

パラメータ

value (str) -- 絵文字の文字列表現。

戻り値

この文字列に含まれる部分的な絵文字。

戻り値の型

PartialEmoji

is_custom_emoji()

bool: その絵文字がユニコード絵文字ではなく、カスタム絵文字であるかを確認します。

is_unicode_emoji()

bool: その絵文字がユニコード絵文字であるかを確認します。

property created_at

UTCで絵文字の作成時刻を返します。ユニコード絵文字の場合は None を返します。

バージョン 1.6 で追加.

Optional[datetime.datetime]

property url

もし絵文字がカスタム絵文字なら、その絵文字のURLを返します。

これがカスタム絵文字でない場合は、空の文字列が返されます。

str

await read()

This function is a coroutine.

このアセットの内容を bytes オブジェクトとして取得します。

例外
  • DiscordException -- 内部の接続ステートが存在しない場合。

  • HTTPException -- アセットのダウンロードに失敗した場合。

  • NotFound -- アセットが削除された場合。

  • ValueError -- PartialEmojiがカスタム絵文字でない場合。

戻り値

アセットの内容。

戻り値の型

bytes

await save(fp, *, seek_begin=True)

This function is a coroutine.

このアセットをファイルライクオブジェクトに保存します。

パラメータ
  • fp (Union[io.BufferedIOBase, os.PathLike]) -- このアセットの保存先となるファイルのようなオブジェクト、または使用するファイル名。ファイル名を指定すると、そのファイル名でファイルが作成され、代わりに使用されます。

  • seek_begin (bool) -- 正常に保存した後にファイルの先頭にシークすべきか。

例外
  • DiscordException -- 内部の接続ステートが存在しない場合。

  • HTTPException -- アセットのダウンロードに失敗した場合。

  • NotFound -- アセットが削除された場合。

戻り値

書き込まれたバイト数。

戻り値の型

int

await to_file(*, filename=..., description=None, spoiler=False)

This function is a coroutine.

アセットを abc.Messageable.send() を介して送信するのに適した File に変換します。

バージョン 2.0 で追加.

パラメータ
  • filename (Optional[str]) -- ファイルのファイル名。指定されていない場合は、アセットのURL由来のファイル名が使用されます。

  • description (Optional[str]) -- ファイルの説明。

  • spoiler (bool) -- このファイルがスポイラーを含むか。

例外
  • DiscordException -- アセットにステートが付属していない場合。

  • ValueError -- アセットがユニコード絵文字である場合。

  • TypeError -- アセットがロッティータイプのスタンプであった場合。

  • HTTPException -- アセットのダウンロードに失敗した場合。

  • NotFound -- アセットが削除された場合。

戻り値

送信に適したファイルとしてのアセット。

戻り値の型

File

Role

class discord.Role

Guild のDiscordのロール。

x == y

二つのロールが等しいかを比較します。

x != y

二つのロールが等しいものではないか比較します。

x > y

そのロールがもう1つのロールと比べて、階層において順位が上かを比較します。

x < y

そのロールがもう1つのロールと比べて、階層において順位が下かを比較します。

x >= y

そのロールがもう1つのロールと比べて、階層において順位が同じ、または上かを比較します。

x <= y

そのロールがもう1つのロールと比べて、階層において順位が同じ、または下かを比較します。

hash(x)

ロールのハッシュを返します。

str(x)

ロールの名前を返します。

id

ロールのID。

int

name

ロールの名前。

str

guild

ロールが属するギルド。

Guild

hoist

ロールが他のメンバーとは別に表示されるかどうかを示します。

bool

position

ロールの位置。この数値は通常正です。一番下のロールの位置は 0 です。

警告

複数のロールが同じ位置番号を持つことがあります。このため、ロールの位置の比較はロール階層の確認時にバグの原因となります。ロール階層を比較するときの推奨され、正しい方法はロールオブジェクトそのものへの比較演算子の使用です。

int

unicode_emoji

存在する場合、ロールのユニコード絵文字。

注釈

もし iconNone でない場合、このユニコード絵文字ではなくそのアイコンがロールアイコンとして表示されます。

ロールに表示されるアイコンを取得したい場合は、 display_icon を使用してみてください。

バージョン 2.0 で追加.

Optional[str]

managed

このロールが、Twitchのような連携サービスを通じてギルドによって管理されているかどうかを示します。

bool

mentionable

ロールがユーザーによってメンションできるかどうかを示します。

bool

tags

このロールに関連付けられているロールタグ。

Optional[RoleTags]

is_default()

bool: ロールがデフォルトのロールであるかどうかをチェックします。

is_bot_managed()

bool: ロールがボットに関連付けられているかどうか。

バージョン 1.6 で追加.

is_premium_subscriber()

bool: ロールがギルドのプレミアムサブスクライバー、すなわち「ブースト」のロールかどうか。

バージョン 1.6 で追加.

is_integration()

bool: ロールが連携サービスによって管理されているかどうか。

バージョン 1.6 で追加.

is_assignable()

bool: ロールがボットによって割り当て・削除できるかどうか。

バージョン 2.0 で追加.

property permissions

ロールの権限を返します。

Permissions

property colour

ロールの色を返します。これのエイリアスとして、 colour が存在します。

Colour

property color

ロールの色を返します。これのエイリアスとして、colour が存在します。

Colour

property icon

利用できる場合、ロールのアイコンのアセットを返します。

注釈

これが None のときで、 unicode_emojiNone でない場合、ロールは ユニコード絵文字をアイコンとして使用しているかもしれません。

ロールに表示されるアイコンを取得したい場合は、 display_icon を使用してみてください。

バージョン 2.0 で追加.

Optional[Asset]

property display_icon

利用できる場合、ロールに表示されるアイコンを返します。

バージョン 2.0 で追加.

Optional[Union[Asset, str]]

property created_at

ロールの作成時刻をUTCで返します。

datetime.datetime

property mention

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

str

property members

このロールを持つすべてのメンバーを返します。

List[Member]

property flags

Returns the role's flags.

バージョン 2.4 で追加.

RoleFlags

await edit(*, name=..., permissions=..., colour=..., color=..., hoist=..., display_icon=..., mentionable=..., position=..., reason=...)

This function is a coroutine.

ロールを編集します。

これを行うには、 manage_roles が必要です。

すべてのフィールドはオプションです。

バージョン 1.4 で変更: intcolour キーワード引数に渡せるようになりました。

バージョン 2.0 で変更: 編集はロールを置き換えず、編集された新しいロールが返されるようになりました。

バージョン 2.0 で追加: display_icon キーワード引数が追加されました。

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

パラメータ
  • name (str) -- 変更する新しいロール名。

  • permissions (Permissions) -- 変更する新しい権限。

  • colour (Union[Colour, int]) -- 変更後の色。(colorというエイリアスも存在します。)

  • hoist (bool) -- メンバーリストにロールを他と分けて表示するかどうかを示します。

  • display_icon (Optional[Union[bytes, str]]) -- ロールのアイコンとして使用すべきアイコンを表す bytes-like object またはユニコード絵文字を表す str 。アイコンを除去する場合 None を渡せます。PNGとJPEGのみサポートしています。これは Guild.featuresROLE_ICONS を含むギルドでのみ利用可能です。

  • mentionable (bool) -- ロールがユーザーによってメンションできるかどうかを示します。

  • position (int) -- 新しいロールの位置。これはあなたの最高位のロールより下位でないといけません。

  • reason (Optional[str]) -- ロールを編集する理由。監査ログに表示されます。

例外
  • Forbidden -- ロールを変更する権限がない場合。

  • HTTPException -- ロールの編集に失敗した場合。

  • ValueError -- 無効なポジションが与えられたか、デフォルトのロールを移動するように求めた場合。

戻り値

新しく編集されたロール。

戻り値の型

Role

await delete(*, reason=None)

This function is a coroutine.

ロールを削除します。

これを行うには、 manage_roles が必要です。

パラメータ

reason (Optional[str]) -- ロールを削除する理由。監査ログに表示されます。

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

  • HTTPException -- ロールの削除に失敗した場合。

RoleTags

class discord.RoleTags

ロールのタグ。

ロールタグは、管理されたロールに付属のロールが管理されている理由に関する追加情報です。

これにアクセスすることもできますが、 RoleGuild クラスにも便利なインターフェイスがあります。

バージョン 1.6 で追加.

bot_id

ロールを管理するボットのユーザーID。

Optional[int]

integration_id

ロールを管理する連携サービスID。

Optional[int]

subscription_listing_id

このロールのサブスクリプションSKUとリスティングのID。

バージョン 2.2 で追加.

Optional[int]

is_bot_managed()

bool: ロールがボットに関連付けられているかどうか。

is_premium_subscriber()

bool: ロールがギルドのプレミアムサブスクライバー、すなわち「ブースト」のロールかどうか。

is_integration()

bool: ロールが連携サービスによって管理されているかどうか。

is_available_for_purchase()

bool: ロールが購入可能かどうか。

バージョン 2.2 で追加.

is_guild_connection()

bool: ロールがギルドの関連付けられたロールかどうか。

バージョン 2.2 で追加.

PartialMessageable

class discord.PartialMessageable

チャンネルIDのみ存在する場合にメッセージ可能なチャンネルとの作業を簡単にする部分的なメッセージ可能チャンネル。

これは Client.get_partial_messageable() によってのみ作成できます。

これは機能が削られていてリッチな属性を持ちません。

バージョン 2.0 で追加.

x == y

二つの部分的なメッセージ可能チャンネルが等しいかを比較します。

x != y

二つの部分的なメッセージ可能チャンネルが等しくないかを比較します。

hash(x)

部分的なメッセージ可能チャンネルのハッシュ値を返します。

id

この部分的なメッセージ可能チャンネルのID。

int

guild_id

この部分的なメッセージ可能チャンネルに関連付けられたギルドID。

Optional[int]

type

与えられた場合、この部分的なメッセージ可能チャンネルのチャンネルタイプ。

Optional[ChannelType]

await fetch_message(id, /)

This function is a coroutine.

宛先から、単一の Message を取得します。

パラメータ

id (int) -- 探すメッセージのID。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

要求されたメッセージ。

戻り値の型

Message

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)

チャンネルのメッセージ履歴を取得する asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

サンプル

使い方

counter = 0
async for message in channel.history(limit=200):
    if message.author == client.user:
        counter += 1

リストにフラット化:

messages = [message async for message in channel.history(limit=123)]
# messages is now a list of Message...

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

パラメータ
  • limit (Optional[int]) -- 取得するメッセージの数。 None の場合、チャンネル内のメッセージすべてを取得します。ただし、これには時間がかかります。

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

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

  • around (Optional[Union[Snowflake, datetime.datetime]]) -- 渡された日付、またはメッセージあたりのメッセージを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。この引数を使用するときは、取得できる最大のメッセージ数は101個です。もし制限が偶数の場合は最大でそれに1を加えた分だけ返します。

  • oldest_first (Optional[bool]) -- True の場合、古いものから新しいものの順でメッセージを返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

例外
  • Forbidden -- メッセージ履歴を読む権限が無い場合。

  • HTTPException -- メッセージ履歴の取得に失敗した場合。

列挙

Message -- メッセージデータをパースしたメッセージ。

await pins()

This function is a coroutine.

現時点でチャンネルにピン留めされている全てのメッセージを取得します。

注釈

Discord APIの制限により、このメソッドの返した Message オブジェクトには、完全な Message.reactions のデータが含まれていません。

例外
  • Forbidden -- ピン留めされたメッセージの取得に必要な権限がない場合。

  • HTTPException -- ピン留めされたメッセージの取得に失敗した場合。

戻り値

現時点でピン留めされているメッセージ。

戻り値の型

List[Message]

await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, silent=False)

This function is a coroutine.

指定された内容のメッセージを宛先に送信します。

contentは、 str(content) によって文字列に変換が可能である必要があります。もしcontentに None (デフォルト) を指定するなら、 embed パラメータを設定する必要があります。

単一のファイルをアップロードするには、 file パラメータに File オブジェクトを指定する必要があります。複数のファイルをアップロードするには、 files パラメータに File オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

単一の埋め込みを送信するには、 embed パラメータに Embed オブジェクトを指定する必要があります。複数の埋め込みを送信するには、 embeds パラメータに Embed オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

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

パラメータ
  • content (Optional[str]) -- 送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) --

    送信する埋め込みのリスト。最大10個まで送信できます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • nonce (int) -- メッセージの送信時に使用するナンス値。メッセージが正常に送信された場合、このメッセージには指定されたナンス値が含まれます。

  • delete_after (float) -- 指定したなら、これはメッセージを送信したあと待機し、すぐ削除する秒数となります。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (AllowedMentions) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • reference (Union[Message, MessageReference, PartialMessage]) --

    返信する Message への参照。これは、 to_reference() を使用して作成することができ、また Message を直接渡すこともできます。これが返信元のメッセージの投稿者をメンションすべきかは、 allowed_mentionsreplied_user 属性や、 mention_author パラメータで制御できます。

    バージョン 1.6 で追加.

  • mention_author (Optional[bool]) --

    設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

    バージョン 1.6 で追加.

  • view (discord.ui.View) --

    メッセージに追加するDiscord UI ビュー。

    バージョン 2.0 で追加.

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) --

    送信するスタンプのリスト。最大3個まで送信できます。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、 embedembeds の両方が指定された場合、または referenceMessageMessageReferencePartialMessage でない場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

typing()

入力インジケーターを宛先に無期限で、または await で呼び出された場合10秒間表示できるようにする非同期コンテキストマネージャーを返します。

使用例:

async with channel.typing():
    # simulate something heavy
    await asyncio.sleep(20)

await channel.send('Done!')

使用例:

await channel.typing()
# Do some computational magic for about 10 seconds
await channel.send('Done!')

バージョン 2.0 で変更: これは with 構文で動作せず、代わりに async with を使用しないといけないように変更されました。

バージョン 2.0 で変更: コンテキストマネージャーを await して入力インジケーターを10秒間送信する機能を追加しました。

property guild

この部分的なメッセージ可能チャンネルが属するギルド。

Optional[Guild]

property jump_url

クライアントがこのチャンネルにジャンプすることのできるURLを返します。

str

property created_at

チャンネルの作成された時間をUTCで返します。

datetime.datetime

permissions_for(obj=None, /)

User の権限を解決します。

この機能は他のチャンネルタイプとの互換性のためにあります。

部分的なメッセージ可能チャンネルには権限の概念がないため、これは常に Permissions.none() を返します。

パラメータ

obj (User) -- 権限を確認するユーザー。このパラメータは他の permissions_for メソッドとの互換性のためにあり、無視されます。

戻り値

解決された権限。

戻り値の型

Permissions

get_partial_message(message_id, /)

メッセージIDから PartialMessage を作成します。

これは、IDしかない場合に不必要なAPI呼び出しなくメッセージに関する作業をする時に便利です。

パラメータ

message_id (int) -- 部分的なメッセージのID。

戻り値

部分的なメッセージ。

戻り値の型

PartialMessage

TextChannel

class discord.TextChannel

Discordギルドのテキストチャンネル。

x == y

二つのチャンネルが等しいかを比較します。

x != y

二つのチャンネルが等しいものではないか比較します。

hash(x)

チャンネルのハッシュ値を返します。

str(x)

チャンネルの名前を返します。

name

チャンネル名。

str

guild

チャンネルが属するギルド。

Guild

id

チャンネルのID。

int

category_id

該当する場合、このチャンネルが属するカテゴリチャンネルのID。

Optional[int]

topic

チャンネルのトピック。存在しない場合は None になります。

Optional[str]

position

チャンネルリストにおける位置。これは0から始まる番号で、最も上のチャンネルの位置は0です。

int

last_message_id

このチャンネルに送信された最後のメッセージのID。既存または有効なメッセージを指して いない 場合があります。

Optional[int]

slowmode_delay

このチャンネルにメッセージを送信する間にメンバーが待たなければいけない時間。値が 0 の場合これは無効です。ボットやユーザーが manage_channelsmanage_messages 権限を有する場合低速モードを回避できます。

int

nsfw

チャンネルに年齢制限がかかっているか。

bool

default_auto_archive_duration

このチャンネルで作成されたスレッドのデフォルトの分単位の自動アーカイブ期間。

バージョン 2.0 で追加.

int

default_thread_slowmode_delay

このチャンネルで作成されたスレッドの、デフォルトの秒単位の低速モードレート制限。

バージョン 2.3 で追加.

int

async with typing()

入力インジケーターを宛先に無期限で、または await で呼び出された場合10秒間表示できるようにする非同期コンテキストマネージャーを返します。

使用例:

async with channel.typing():
    # simulate something heavy
    await asyncio.sleep(20)

await channel.send('Done!')

使用例:

await channel.typing()
# Do some computational magic for about 10 seconds
await channel.send('Done!')

バージョン 2.0 で変更: これは with 構文で動作せず、代わりに async with を使用しないといけないように変更されました。

バージョン 2.0 で変更: コンテキストマネージャーを await して入力インジケーターを10秒間送信する機能を追加しました。

property type

チャンネルのDiscordタイプ。

ChannelType

permissions_for(obj, /)

MemberRole の権限を解決します。

これは以下を考慮します:

  • サーバーの所有者

  • サーバーにあるロール

  • チャンネルの上書き

  • メンバーの上書き

  • 自動で処理される権限

  • メンバーのタイムアウト

Role が渡された場合、そのロールを持つ人が持つべき権限を確認します。つまり:

  • デフォルトのロールの権限

  • パラメータとして使用されるロールの権限

  • デフォルトのロールの権限の上書き

  • パラメータとして使用されるロールの権限の上書き

バージョン 2.0 で変更: ロールを渡すことができるようになりました。

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

パラメータ

obj (Union[Member, Role]) -- 権限を解決すべきオブジェクト。これはメンバーかロールです。ロールの場合メンバーの上書きは判断しません。

戻り値

メンバーまたはロールの解決された権限。

戻り値の型

Permissions

property members

このチャンネルを閲覧できるすべてのメンバーを返します。

List[Member]

property threads

表示できるすべてのスレッドを返します。

バージョン 2.0 で追加.

List[Thread]

is_nsfw()

bool: チャンネルに年齢制限があるかどうかをチェックします。

is_news()

bool: チャンネルがニュースチャンネルかをチェックします。

property last_message

キャッシュからこのチャンネルに最後に送信されたメッセージを取得します。

このメッセージは有効でなかったり、存在するものでない場合があります。

信頼性の高い取得方法

より信頼性のある最後のメッセージの取得方法として、 history()last_message_idfetch_message() の組み合わせがあります。

戻り値

このチャンネルの最後のメッセージ。見つからない場合は None です。

戻り値の型

Optional[Message]

await edit(*, reason=None, **options)

This function is a coroutine.

チャンネルを編集します。

これを行うには、 manage_channels が必要です。

バージョン 1.3 で変更: overwrites キーワード引数が追加されました。

バージョン 1.4 で変更: type キーワード引数が追加されました。

バージョン 2.0 で変更: 編集はチャンネルを置き換えず、編集された新しいチャンネルが返されるようになりました。

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

パラメータ
  • name (str) -- チャンネルの名前。

  • topic (str) -- 新しいチャンネルのトピック。

  • position (int) -- チャンネルの位置。

  • nsfw (bool) -- チャンネルに年齢制限をかけるかどうか。

  • sync_permissions (bool) -- チャンネルの新しい、又は既存のカテゴリと権限を同期するか。デフォルトは False です。

  • category (Optional[CategoryChannel]) -- チャンネルの新しいカテゴリ。カテゴリを削除するには None を指定できます。

  • slowmode_delay (int) -- 秒単位でこのチャンネルのユーザーの低速モードの値を指定します。 0 を渡すと低速モードを無効にできます。可能な最大の値は 21600 です。

  • type (ChannelType) -- このテキストチャンネルのタイプを変更します。現時点では ChannelType.textChannelType.news 間での変更のみできます。これは Guild.featuresNEWS を含むギルドでのみ利用できます。

  • reason (Optional[str]) -- チャンネルを編集する理由。監査ログに表示されます。

  • overwrites (Mapping) -- ターゲット(ロール又はメンバー)をキーとし適用される PermissionOverwrite を値とする Mapping

  • default_auto_archive_duration (int) --

    このチャンネルで作成されたスレッドの分単位のデフォルトの自動アーカイブ期間。これは 6014404320 、または 10080 でないといけません。

    バージョン 2.0 で追加.

  • default_thread_slowmode_delay (int) --

    このチャンネルで作成されたスレッドの、新しいデフォルトの秒単位の低速モードレート制限。

    バージョン 2.3 で追加.

例外
  • ValueError -- 新しい position が0より小さいか、カテゴリの数より大きい場合。

  • TypeError -- 権限の上書きの情報が適切なものでない場合。

  • Forbidden -- チャンネルを編集する権限がない場合。

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

戻り値

新しく編集されたテキストチャンネル。編集が位置のみだった場合は代わりに None が返されます。

戻り値の型

Optional[TextChannel]

await clone(*, name=None, reason=None)

This function is a coroutine.

チャンネルをクローンします。これはそのチャンネルと同じ属性を持つチャンネルを作成します。

これを行うには manage_channels が必要です。

バージョン 1.1 で追加.

パラメータ
  • name (Optional[str]) -- 新しいチャンネルの名前。渡されない場合はこのチャンネルの名前が使用されます。

  • reason (Optional[str]) -- チャンネルを複製する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

戻り値

作成されたチャンネル。

戻り値の型

abc.GuildChannel

await delete_messages(messages, *, reason=None)

This function is a coroutine.

メッセージのリストを削除します。複数のメッセージを一括削除する点を除き、これは Message.delete() に似ています。

スペシャルケースとして、もしメッセージ数が0の場合は何もせず、メッセージ数が1の場合は単独のメッセージ削除が行われます。これが2以上の場合一括削除が行われます。

14日以上前のメッセージや100件以上のメッセージを一括削除することはできません。

これを行うには、 manage_messages が必要です。

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

reason キーワード引数が追加されました。

パラメータ
  • messages (Iterable[abc.Snowflake]) -- 一括削除するものを示すメッセージのiterableオブジェクト。

  • reason (Optional[str]) -- メッセージを一括削除する理由。監査ログに表示されます。

例外
  • ClientException -- 削除するメッセージの数が100以上の場合。

  • Forbidden -- メッセージを一括削除するための適切な権限がない場合。

  • NotFound -- 1メッセージのみ削除する時、メッセージが既に削除されていた場合。

  • HTTPException -- メッセージの削除に失敗した場合。

await purge(*, limit=100, check=..., before=None, after=None, around=None, oldest_first=None, bulk=True, reason=None)

This function is a coroutine.

check 関数の要件を満たすメッセージを一括削除します。 check が渡されない場合はすべてのメッセージが削除されます。

メッセージを削除するときに、それが自分のものであったとしても、削除するには manage_messages が必要です。メッセージの履歴を取得するために read_message_history も必要になります。

バージョン 2.0 で変更: reason キーワード引数が追加されました。

サンプル

Botによるメッセージを削除する

def is_me(m):
    return m.author == client.user

deleted = await channel.purge(limit=100, check=is_me)
await channel.send(f'Deleted {len(deleted)} message(s)')
パラメータ
  • limit (Optional[int]) -- 検索するメッセージ数。これは削除するメッセージ数になるとは必ずしも限りません。

  • check (Callable[[Message], bool]) -- メッセージが削除されるかどうかを確認するために使用される関数。 Message を唯一のパラメータとして受け取る必要があります。

  • before (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での before と同じです。

  • after (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での after と同じです。

  • around (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での around と同じです。

  • oldest_first (Optional[bool]) -- history() での oldest_first と同じです。

  • bulk (bool) -- True の場合、一括削除を使用します。これを False に設定すると、 Permissions.manage_messages なしでボット自身のメッセージを一括削除することができます。 True の場合でも、2週間以上前のメッセージは個別に削除されます。

  • reason (Optional[str]) -- メッセージを一括削除する理由。監査ログに表示されます。

例外
  • Forbidden -- 必要なアクションをするための適切な権限がない場合。

  • HTTPException -- メッセージの一括削除に失敗した場合。

戻り値

削除されたメッセージのlist。

戻り値の型

List[Message]

await webhooks()

This function is a coroutine.

チャンネル内のWebhookのリストを取得します。

これを行うには、 manage_webhooks が必要です。

例外

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

戻り値

チャンネル内のWebhook。

戻り値の型

List[Webhook]

await create_webhook(*, name, avatar=None, reason=None)

This function is a coroutine.

チャンネルに新しいWebhookを作ります。

これを行うには、 manage_webhooks が必要です。

バージョン 1.1 で変更: reason キーワード引数が追加されました。

パラメータ
  • name (str) -- Webhookの名前。

  • avatar (Optional[bytes]) -- Webhookのデフォルトアバターを表す bytes-like objectedit() と同様に動作します。

  • reason (Optional[str]) -- Webhookを作成する理由。監査ログに表示されます。

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

  • Forbidden -- Webhookを作成する権限を持っていない場合。

戻り値

作成されたwebhook。

戻り値の型

Webhook

await follow(*, destination, reason=None)

This function is a coroutine.

Webhookを使用してチャンネルをフォローします。

フォローできるのはニュースチャンネルのみです。

注釈

返されたWebhookは、Discordが提供していないため、Webhook アクションを実行するためのトークンを提供しません。

バージョン 1.3 で追加.

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

パラメータ
  • destination (TextChannel) -- フォローしたいチャンネル。

  • reason (Optional[str]) --

    チャンネルをフォローする理由。宛先のギルドの監査ログに表示されます。

    バージョン 1.4 で追加.

例外
  • HTTPException -- チャンネルのフォローに失敗した場合。

  • Forbidden -- Webhookを作成する権限を持っていない場合。

  • ClientException -- チャンネルがニュースチャンネルでない場合。

  • TypeError -- 宛先チャンネルがテキストチャンネルでない場合。

戻り値

作成されたwebhook。

戻り値の型

Webhook

get_partial_message(message_id, /)

メッセージIDから PartialMessage を作成します。

これは、IDしかない場合に不必要なAPI呼び出しなくメッセージに関する作業をする時に便利です。

バージョン 1.6 で追加.

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

パラメータ

message_id (int) -- 部分的なメッセージのID。

戻り値

部分的なメッセージ。

戻り値の型

PartialMessage

get_thread(thread_id, /)

与えられたIDに合致するスレッドを返します。

注釈

内部キャッシュに保持されていないため、アーカイブされたスレッドを取得できないことがあります。代わりに Guild.fetch_channel() を使用してください。

バージョン 2.0 で追加.

パラメータ

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

戻り値

スレッド、または該当するものが見つからない場合 None が返ります。

戻り値の型

Optional[Thread]

await create_thread(*, name, message=None, auto_archive_duration=..., type=None, reason=None, invitable=True, slowmode_delay=None)

This function is a coroutine.

このテキストチャンネルでスレッドを作成します。

パブリックスレッドを作成するには、 create_public_threads が必要です。プライベートスレッドの場合は、代わりに create_private_threads が必要です。

バージョン 2.0 で追加.

パラメータ
  • name (str) -- スレッドの名前。

  • message (Optional[abc.Snowflake]) -- スレッドを開始するメッセージを表すスノーフレーク。None が渡された場合、プライベートスレッドが作成されます。デフォルトは None です。

  • auto_archive_duration (int) -- スレッドがチャンネルリストから自動的に非表示になるまでの分単位の時間。 指定されていない場合、チャンネルのデフォルトの自動アーカイブ期間が使用されます。指定された場合は、 6014404320 、または 10080 のいずれかでないといけません。

  • type (Optional[ChannelType]) -- 作成するスレッドの種類。 message が渡された場合、メッセージで作成されたスレッドは常に公開スレッドであるためこのパラメータは無視されます。 デフォルトでは、これが None の場合、プライベートスレッドが作成されます。

  • reason (str) -- スレッドを作成する理由。監査ログに表示されます。

  • invitable (bool) -- モデレータ以外がスレッドにユーザーを追加できるかどうか。プライベートスレッドにのみ適用されます。デフォルトは True です。

  • slowmode_delay (Optional[int]) -- このチャンネルの秒単位での低速モードレート制限。 最大値は 21600 です。デフォルトは None でこの場合は低速モードレート制限が無しとなります。

例外
  • Forbidden -- スレッドを作成する権限を持っていない場合。

  • HTTPException -- スレッドの作成に失敗した場合。

戻り値

作成されたスレッド。

戻り値の型

Thread

async for ... in archived_threads(*, private=False, joined=False, limit=100, before=None)

このテキストチャンネルのアーカイブされたスレッドをイテレートする asynchronous iterator を返します。これは参加したスレッドではIDの降順、それ以外では Thread.archive_timestamp の降順です。

これを行うには、 read_message_history が必要です。プライベートスレッドをイテレートする場合は、 manage_threads も必要です。

バージョン 2.0 で追加.

パラメータ
  • limit (Optional[bool]) -- 取得するスレッドの数。 None の場合、チャンネル内のアーカイブされたスレッドすべてを取得します。ただし、これには時間がかかります。

  • before (Optional[Union[abc.Snowflake, datetime.datetime]]) -- 指定された日付またはIDより前のアーカイブされたチャンネルを取得します。

  • private (bool) -- プライベートのアーカイブされたスレッドを取得するかどうか。

  • joined (bool) -- 参加したプライベートアーカイブスレッドを取得するかどうか。joinedTrue を設定した場合は privateFalse を設定することはできません。

例外
  • Forbidden -- アーカイブしたスレッドを取得する権限を持っていない場合。

  • HTTPException -- アーカイブなスレッドの取得に失敗した場合。

  • ValueError -- joinedTrue に設定され、privateFalse に設定された場合。参加したパブリックのアーカイブされたスレッドは取得できません。

列挙

Thread -- アーカイブされたスレッド。

property category

チャンネルが属するカテゴリ。

カテゴリがない場合は None になります。

Optional[CategoryChannel]

property changed_roles

roles 属性にて指定されたデフォルト値から上書きされたロールのリストを返します。

List[Role]

await create_invite(*, reason=None, max_age=0, max_uses=0, temporary=False, unique=True, target_type=None, target_user=None, target_application_id=None)

This function is a coroutine.

テキストやボイスチャンネルから招待を作成します。

これを行うには、 create_instant_invite が必要です。

パラメータ
  • max_age (int) -- 招待の有効期限の秒単位の長さ。0の場合、招待は期限切れにはなりません。これはデフォルトでは 0 になります。

  • max_uses (int) -- 招待の使用回数の制限。もしこれが0なら、招待を無制限に使用することができます。デフォルトではこれは 0 になります。

  • temporary (bool) -- 一時的なメンバーとして招待するかを示しています。(つまり、招待されたメンバーは、特定のロールを付与されない限り、Discordを切断するときキックされます。)デフォルトは False です。

  • unique (bool) -- 新しい招待URLを作成すべきか示します。既定ではTrueです。これが False に指定された場合は、前に作成された招待を返します。

  • reason (Optional[str]) -- 招待を作成する理由。監査ログに表示されます。

  • target_type (Optional[InviteTarget]) --

    ボイスチャンネル招待の対象の種類。

    バージョン 2.0 で追加.

  • target_user (Optional[User]) --

    この招待に表示すべきストリームのユーザー。 target_typeInviteTarget.stream の場合必須です。このユーザーはチャンネル内でストリームしていないといけません。

    バージョン 2.0 で追加.

  • target_application_id: --

    Optional[int]: 招待に紐づいた埋め込みアプリケーションのID。 target_typeInviteTarget.embedded_application の場合必須です。

    バージョン 2.0 で追加.

例外
  • HTTPException -- 招待の作成に失敗した場合。

  • NotFound -- カテゴリや不正なチャンネルが渡された場合。

戻り値

作成された招待。

戻り値の型

Invite

property created_at

チャンネルの作成された時間をUTCで返します。

datetime.datetime

await delete(*, reason=None)

This function is a coroutine.

チャンネルを削除します。

これを行うには manage_channels が必要です。

パラメータ

reason (Optional[str]) -- チャンネルを削除する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを削除するのに必要な権限がない場合。

  • NotFound -- チャンネルが見つからないか、すでに削除されていた場合。

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

await fetch_message(id, /)

This function is a coroutine.

宛先から、単一の Message を取得します。

パラメータ

id (int) -- 探すメッセージのID。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

要求されたメッセージ。

戻り値の型

Message

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)

チャンネルのメッセージ履歴を取得する asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

サンプル

使い方

counter = 0
async for message in channel.history(limit=200):
    if message.author == client.user:
        counter += 1

リストにフラット化:

messages = [message async for message in channel.history(limit=123)]
# messages is now a list of Message...

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

パラメータ
  • limit (Optional[int]) -- 取得するメッセージの数。 None の場合、チャンネル内のメッセージすべてを取得します。ただし、これには時間がかかります。

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

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

  • around (Optional[Union[Snowflake, datetime.datetime]]) -- 渡された日付、またはメッセージあたりのメッセージを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。この引数を使用するときは、取得できる最大のメッセージ数は101個です。もし制限が偶数の場合は最大でそれに1を加えた分だけ返します。

  • oldest_first (Optional[bool]) -- True の場合、古いものから新しいものの順でメッセージを返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

例外
  • Forbidden -- メッセージ履歴を読む権限が無い場合。

  • HTTPException -- メッセージ履歴の取得に失敗した場合。

列挙

Message -- メッセージデータをパースしたメッセージ。

await invites()

This function is a coroutine.

このチャンネルから作成された全てのアクティブなインスタント招待のリストを返します。

この情報を取得するためには、 manage_channels 権限を持っている必要があります。

例外
  • Forbidden -- 適切な権限を有していない場合。

  • HTTPException -- 情報取得中にエラーが発生した場合。

戻り値

現時点でアクティブな招待のリスト。

戻り値の型

List[Invite]

property jump_url

クライアントがこのチャンネルにジャンプすることのできるURLを返します。

バージョン 2.0 で追加.

str

property mention

チャンネルにメンションするための文字列。

str

await move(**kwargs)

This function is a coroutine.

チャンネルを他のチャンネルと相対的に移動させるのに役立つインターフェイスです。

正確に位置を移動させる場合は、代わりに edit を使用する必要があります。

これを行うには manage_channels が必要です。

注釈

ボイスチャンネルは常にテキストチャンネルの下にソートされます。これはDiscordの制限です。

バージョン 1.7 で追加.

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

パラメータ
  • beginning (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の先頭に移動させるかどうかを指定します。これは、 end, before, after とは互いに排他的です。

  • end (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の末尾に移動するかどうかを指定します。これは beginning, before, after とは互いに排他的です。

  • before (Snowflake) -- このチャンネルの前にあるべきチャンネル。これと beginningendafter は同時に使用できません。

  • after (Snowflake) -- このチャンネルの後にあるべきチャンネル。これと beginningendbefore は同時に使用できません。

  • offset (int) -- 移動のオフセット。たとえば、 beginning=True の場合にてオフセットが 2 ならば、チャンネルは始めから2つ分の場所に動きます。正の整数を渡すと下に、負の整数を渡すと上に動きます。この数は相対的で beginningendbeforeafter パラメータの後に計算されます。

  • category (Optional[Snowflake]) -- チャンネルの移動先のカテゴリ。 None を渡した場合はチャンネルはカテゴリに属さなくなります。このパラメータはカテゴリチャンネルの場合は無視されます。

  • sync_permissions (bool) -- (カテゴリが指定されている場合に)権限を同期すべきか。

  • reason (str) -- 移動の理由。

例外
  • ValueError -- 位置が無効な場合。

  • TypeError -- 同時に指定できない引数らが同時に指定された場合。

  • Forbidden -- チャンネルを移動する権限がない場合。

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

property overwrites

チャンネルの上書きをすべて返します。

これは、 RoleMember のターゲットをキーとし、 PermissionOverwrite を値とする辞書型として返されます。

バージョン 2.0 で変更: キャッシュ取得に失敗した場合、上書きが型付きの Object になるようになりました。

戻り値

チャンネルの権限の上書き。

戻り値の型

Dict[Union[Role, Member, Object], PermissionOverwrite]

overwrites_for(obj)

メンバーまたはロール固有の上書きされたリストを返します

パラメータ

obj (Union[Role, User, Object]) -- 上書きの対象となるロールやユーザー。

戻り値

そのオブジェクトの権限の上書き。

戻り値の型

PermissionOverwrite

property permissions_synced

チャンネルの権限が属するカテゴリと同期されているかどうか。

カテゴリがない場合は False になります。

バージョン 1.3 で追加.

bool

await pins()

This function is a coroutine.

現時点でチャンネルにピン留めされている全てのメッセージを取得します。

注釈

Discord APIの制限により、このメソッドの返した Message オブジェクトには、完全な Message.reactions のデータが含まれていません。

例外
  • Forbidden -- ピン留めされたメッセージの取得に必要な権限がない場合。

  • HTTPException -- ピン留めされたメッセージの取得に失敗した場合。

戻り値

現時点でピン留めされているメッセージ。

戻り値の型

List[Message]

await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, silent=False)

This function is a coroutine.

指定された内容のメッセージを宛先に送信します。

contentは、 str(content) によって文字列に変換が可能である必要があります。もしcontentに None (デフォルト) を指定するなら、 embed パラメータを設定する必要があります。

単一のファイルをアップロードするには、 file パラメータに File オブジェクトを指定する必要があります。複数のファイルをアップロードするには、 files パラメータに File オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

単一の埋め込みを送信するには、 embed パラメータに Embed オブジェクトを指定する必要があります。複数の埋め込みを送信するには、 embeds パラメータに Embed オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

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

パラメータ
  • content (Optional[str]) -- 送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) --

    送信する埋め込みのリスト。最大10個まで送信できます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • nonce (int) -- メッセージの送信時に使用するナンス値。メッセージが正常に送信された場合、このメッセージには指定されたナンス値が含まれます。

  • delete_after (float) -- 指定したなら、これはメッセージを送信したあと待機し、すぐ削除する秒数となります。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (AllowedMentions) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • reference (Union[Message, MessageReference, PartialMessage]) --

    返信する Message への参照。これは、 to_reference() を使用して作成することができ、また Message を直接渡すこともできます。これが返信元のメッセージの投稿者をメンションすべきかは、 allowed_mentionsreplied_user 属性や、 mention_author パラメータで制御できます。

    バージョン 1.6 で追加.

  • mention_author (Optional[bool]) --

    設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

    バージョン 1.6 で追加.

  • view (discord.ui.View) --

    メッセージに追加するDiscord UI ビュー。

    バージョン 2.0 で追加.

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) --

    送信するスタンプのリスト。最大3個まで送信できます。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、 embedembeds の両方が指定された場合、または referenceMessageMessageReferencePartialMessage でない場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

await set_permissions(target, *, overwrite=see - below, reason=None, **permissions)

This function is a coroutine.

ある対象に対して特定のチャンネルでの権限の上書きを設定します。

target パラメータは当該ギルドに属する MemberRole であるべきです。

overwrite パラメータを渡す場合は、それは None か、 PermissionOverwrite でないといけません。利便性のため、 Permissions の属性を示すキーワード引数を渡すこともできます。これと overwrite パラメータは同時に使用できません。

overwrite パラメータが None の場合は権限の上書きは削除されます。

これを行うには manage_roles が必要です。

注釈

これは、以前の上書きを与えられたもので 置き換えます

サンプル

許可と拒否の設定:

await message.channel.set_permissions(message.author, read_messages=True,
                                                      send_messages=False)

上書きの削除

await channel.set_permissions(member, overwrite=None)

PermissionOverwrite を使用します

overwrite = discord.PermissionOverwrite()
overwrite.send_messages = False
overwrite.read_messages = True
await channel.set_permissions(member, overwrite=overwrite)

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

パラメータ
  • target (Union[Member, Role]) -- 権限を上書きするメンバーかロール。

  • overwrite (Optional[PermissionOverwrite]) -- 対象に対して許可し、または拒否する権限。 None を渡すと上書きを削除できます。

  • **permissions -- 設定すべき権限のキーワード引数リスト。これは overwrite と同時に使用できません。

  • reason (Optional[str]) -- アクションを実行する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルの権限を編集するための権限がない場合。

  • HTTPException -- チャンネルの権限を編集するのに失敗した場合。

  • NotFound -- 編集中のロールやメンバーがギルドに属さない場合。

  • TypeError -- overwrite パラメータが無効か、対象が RoleMember でなかった場合。

  • ValueError -- overwrite パラメータと positions パラメータの両方とも指定されていなかった場合。

ForumChannel

class discord.ForumChannel

Discordサーバーのフォーラムチャンネルを表します。

バージョン 2.0 で追加.

x == y

二つのフォーラムが等しいかを比較します。

x != y

二つのフォーラムが等しいものではないか比較します。

hash(x)

フォーラムのハッシュ値を返します。

str(x)

フォーラムの名前を返します。

name

フォーラムの名前。

str

guild

フォーラムが属するギルド。

Guild

id

フォーラムID。

int

category_id

該当する場合、このフォーラムが属するカテゴリチャンネルのID。

Optional[int]

topic

フォーラムのトピック。存在しない場合は None です。UIでは「ガイドライン」と呼ばれています。最大4096文字です。

Optional[str]

position

チャンネルリストにおける位置。これは0から始まる番号で、最も上のチャンネルの位置は0です。

int

last_message_id

このフォーラムで最後に作成されたスレッドのID。これは作成されたスレッドを開始するメッセージのIDと技術的には一致します。存または有効なスレッドやメッセージを指して いない 場合があります。

Optional[int]

slowmode_delay

このフォーラムでスレッドを作成する間にメンバーが待たなければいけない時間。値が 0 の場合これは無効です。ボットやユーザーが manage_channelsmanage_messages 権限を有する場合低速モードを回避できます。

int

nsfw

フォーラムに年齢制限がかかっているか。

bool

default_auto_archive_duration

このフォーラムで作成されたスレッドのデフォルトの分単位の自動アーカイブ期間。

int

default_thread_slowmode_delay

このフォーラムで作成されたスレッドの、デフォルトの秒単位の低速モードレート制限。

バージョン 2.1 で追加.

int

default_reaction_emoji

このフォーラムで作成されたスレッドで、デフォルトでリアクション追加ボタンに表示するリアクション絵文字。

バージョン 2.1 で追加.

Optional[PartialEmoji]

default_layout

このフォーラムチャネルの投稿のデフォルトの表示レイアウト。デフォルトは ForumLayoutType.not_set です。

バージョン 2.2 で追加.

ForumLayoutType

default_sort_order

このフォーラムチャネルの投稿の並び替え順。

バージョン 2.3 で追加.

Optional[ForumOrderType]

property type

チャンネルのDiscordタイプ。

ChannelType

permissions_for(obj, /)

MemberRole の権限を解決します。

これは以下を考慮します:

  • サーバーの所有者

  • サーバーにあるロール

  • チャンネルの上書き

  • メンバーの上書き

  • 自動で処理される権限

  • メンバーのタイムアウト

Role が渡された場合、そのロールを持つ人が持つべき権限を確認します。つまり:

  • デフォルトのロールの権限

  • パラメータとして使用されるロールの権限

  • デフォルトのロールの権限の上書き

  • パラメータとして使用されるロールの権限の上書き

バージョン 2.0 で変更: ロールを渡すことができるようになりました。

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

パラメータ

obj (Union[Member, Role]) -- 権限を解決すべきオブジェクト。これはメンバーかロールです。ロールの場合メンバーの上書きは判断しません。

戻り値

メンバーまたはロールの解決された権限。

戻り値の型

Permissions

get_thread(thread_id, /)

与えられたIDに合致するスレッドを返します。

注釈

内部キャッシュに保持されていないため、アーカイブされたスレッドを取得できないことがあります。代わりに Guild.fetch_channel() を使用してください。

バージョン 2.2 で追加.

パラメータ

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

戻り値

スレッド、または該当するものが見つからない場合 None が返ります。

戻り値の型

Optional[Thread]

property threads

表示できるすべてのスレッドを返します。

List[Thread]

property flags

このスレッドに関連付けられたフラグ。

バージョン 2.1 で追加.

ChannelFlags

property available_tags

このフォーラムで利用可能なタグをすべて返します。

バージョン 2.1 で追加.

Sequence[ForumTag]

get_tag(tag_id, /)

与えられたIDのタグを返します。

バージョン 2.1 で追加.

パラメータ

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

戻り値

与えられたIDのタグ、または該当するものが見つからない場合 None が返ります。

戻り値の型

Optional[ForumTag]

is_nsfw()

bool: フォーラムに年齢制限があるかどうかをチェックします。

is_media()

bool: Checks if the channel is a media channel.

バージョン 2.4 で追加.

await clone(*, name=None, reason=None)

This function is a coroutine.

チャンネルをクローンします。これはそのチャンネルと同じ属性を持つチャンネルを作成します。

これを行うには manage_channels が必要です。

バージョン 1.1 で追加.

パラメータ
  • name (Optional[str]) -- 新しいチャンネルの名前。渡されない場合はこのチャンネルの名前が使用されます。

  • reason (Optional[str]) -- チャンネルを複製する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

戻り値

作成されたチャンネル。

戻り値の型

abc.GuildChannel

await edit(*, reason=None, **options)

This function is a coroutine.

フォーラムを編集します。

これを行うには、 manage_channels が必要です。

パラメータ
  • name (str) -- 新しいフォーラムの名前。

  • topic (str) -- 新しいフォーラムのトピック。

  • position (int) -- 新しいフォーラムの位置。

  • nsfw (bool) -- フォーラムに年齢制限をかけるかどうか。

  • sync_permissions (bool) -- フォーラムの新しい、又は既存のカテゴリと権限を同期するか。デフォルトは False です。

  • category (Optional[CategoryChannel]) -- フォーラムの新しいカテゴリ。カテゴリを削除するには None を指定できます。

  • slowmode_delay (int) -- 秒単位でこのフォーラムのユーザーの低速モードの値を指定します。 0 を渡すと低速モードを無効にできます。可能な最大の値は 21600 です。

  • type (ChannelType) -- このフォーラムチャンネルのタイプを変更します。現時点では ChannelType.textChannelType.news 間での変更のみできます。これは Guild.featuresNEWS を含むギルドでのみ利用できます。

  • reason (Optional[str]) -- フォーラムを編集する理由。監査ログに表示されます。

  • overwrites (Mapping) -- ターゲット(ロール又はメンバー)をキーとし適用される PermissionOverwrite を値とする Mapping

  • default_auto_archive_duration (int) -- このチャンネルで作成されたスレッドの分単位のデフォルトの自動アーカイブ期間。これは 6014404320 、または 10080 でないといけません。

  • available_tags (Sequence[ForumTag]) --

    新しいフォーラムで利用できるタグ。

    バージョン 2.1 で追加.

  • default_thread_slowmode_delay (int) --

    新しいチャンネル内のスレッドのデフォルトの低速モードレート制限。

    バージョン 2.1 で追加.

  • default_reaction_emoji (Optional[Union[Emoji, PartialEmoji, str]]) --

    新しいチャンネル内のスレッドのデフォルトのリアクション絵文字。

    バージョン 2.1 で追加.

  • default_layout (ForumLayoutType) --

    このフォーラムの新しい投稿のデフォルトの表示レイアウト。

    バージョン 2.2 で追加.

  • default_sort_order (Optional[ForumOrderType]) --

    このフォーラムの新しい投稿のデフォルトの並び替え順。

    バージョン 2.3 で追加.

  • require_tag (bool) --

    チャンネル内のスレッドにタグが必要であるかどうか。

    バージョン 2.1 で追加.

例外
  • ValueError -- 新しい position が0より小さいか、カテゴリの数より大きい場合。

  • TypeError -- 権限上書きが適切でないか、または期待された型でない場合。

  • Forbidden -- フォーラムを編集する権限がない場合。

  • HTTPException -- フォーラムの編集に失敗した場合。

戻り値

新しく編集されたフォーラムチャンネル。編集が位置のみだった場合は代わりに None が返されます。

戻り値の型

Optional[ForumChannel]

await create_tag(*, name, emoji=None, moderated=False, reason=None)

This function is a coroutine.

このフォーラムに新しいタグを作成します。

これを行うには、 manage_channels が必要です。

パラメータ
  • name (str) -- タグ名。最大20文字までです。

  • emoji (Optional[Union[str, PartialEmoji]]) -- タグに使用する絵文字。

  • moderated (bool) -- モデレータによってのみタグを追加できるようにするかどうか。

  • reason (Optional[str]) -- タグを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- このフォーラムでタグを作成する権限がない場合。

  • HTTPException -- タグの作成に失敗した場合。

戻り値

新しく作成されたタグ。

戻り値の型

ForumTag

await create_thread(*, name, auto_archive_duration=..., slowmode_delay=None, content=None, tts=False, embed=..., embeds=..., file=..., files=..., stickers=..., allowed_mentions=..., mention_author=..., applied_tags=..., view=..., suppress_embeds=False, reason=None)

This function is a coroutine.

このフォーラムにスレッドを作成します。

このスレッドは、最初のメッセージが与えられたパブリックスレッドになります。現在、フォーラムでスレッドを作成するには、 send_messages 権限が必要です。

フォーラムチャンネルには最初ののメッセージが必要であるため、 contentembedembedfilefilesfilesview のうち少なくとも1つを送信する必要があります。

パラメータ
  • name (str) -- スレッドの名前。

  • auto_archive_duration (int) -- スレッドがチャンネルリストから自動的に非表示になるまでの分単位の時間。 指定されていない場合、チャンネルのデフォルトの自動アーカイブ期間が使用されます。指定された場合は、 6014404320 、または 10080 のいずれかでないといけません。

  • slowmode_delay (Optional[int]) -- このチャンネルの秒単位での低速モードレート制限。 最大値は 21600 です。デフォルトは None でこの場合は低速モードレート制限が無しとなります。

  • content (Optional[str]) -- スレッドで送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) -- 送信する埋め込みのリスト。最大10個まで送信できます。

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • allowed_mentions (AllowedMentions) -- 処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

  • mention_author (bool) -- 設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

  • applied_tags (List[discord.ForumTag]) -- スレッドに適用するタグのリスト。

  • view (discord.ui.View) -- メッセージに追加するDiscord UI ビュー。

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) -- 送信するスタンプのリスト。最大3個まで送信できます。

  • suppress_embeds (bool) -- メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

  • reason (str) -- スレッドを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- スレッドを作成する権限を持っていない場合。

  • HTTPException -- スレッドの作成に失敗した場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、または embedembeds の両方が指定された場合。

戻り値

作成されたスレッドとメッセージ。これは、 threadmessage フィールドを持つ名前付きタプルとしてもアクセスできます。

戻り値の型

Tuple[Thread, Message]

await webhooks()

This function is a coroutine.

チャンネル内のWebhookのリストを取得します。

これを行うには、 manage_webhooks が必要です。

例外

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

戻り値

チャンネル内のWebhook。

戻り値の型

List[Webhook]

await create_webhook(*, name, avatar=None, reason=None)

This function is a coroutine.

チャンネルに新しいWebhookを作ります。

これを行うには、 manage_webhooks が必要です。

パラメータ
  • name (str) -- Webhookの名前。

  • avatar (Optional[bytes]) -- Webhookのデフォルトアバターを表す bytes-like objectedit() と同様に動作します。

  • reason (Optional[str]) -- Webhookを作成する理由。監査ログに表示されます。

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

  • Forbidden -- Webhookを作成する権限を持っていない場合。

戻り値

作成されたwebhook。

戻り値の型

Webhook

async for ... in archived_threads(*, limit=100, before=None)

このフォーラムののアーカイブされたスレッドを Thread.archive_timestamp の降順でイテレートする asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

バージョン 2.0 で追加.

パラメータ
  • limit (Optional[bool]) -- 取得するスレッドの数。 None の場合、チャンネル内のアーカイブされたスレッドすべてを取得します。ただし、これには時間がかかります。

  • before (Optional[Union[abc.Snowflake, datetime.datetime]]) -- 指定された日付またはIDより前のアーカイブされたチャンネルを取得します。

例外
  • Forbidden -- アーカイブしたスレッドを取得する権限を持っていない場合。

  • HTTPException -- アーカイブなスレッドの取得に失敗した場合。

列挙

Thread -- アーカイブされたスレッド。

property category

チャンネルが属するカテゴリ。

カテゴリがない場合は None になります。

Optional[CategoryChannel]

property changed_roles

roles 属性にて指定されたデフォルト値から上書きされたロールのリストを返します。

List[Role]

await create_invite(*, reason=None, max_age=0, max_uses=0, temporary=False, unique=True, target_type=None, target_user=None, target_application_id=None)

This function is a coroutine.

テキストやボイスチャンネルから招待を作成します。

これを行うには、 create_instant_invite が必要です。

パラメータ
  • max_age (int) -- 招待の有効期限の秒単位の長さ。0の場合、招待は期限切れにはなりません。これはデフォルトでは 0 になります。

  • max_uses (int) -- 招待の使用回数の制限。もしこれが0なら、招待を無制限に使用することができます。デフォルトではこれは 0 になります。

  • temporary (bool) -- 一時的なメンバーとして招待するかを示しています。(つまり、招待されたメンバーは、特定のロールを付与されない限り、Discordを切断するときキックされます。)デフォルトは False です。

  • unique (bool) -- 新しい招待URLを作成すべきか示します。既定ではTrueです。これが False に指定された場合は、前に作成された招待を返します。

  • reason (Optional[str]) -- 招待を作成する理由。監査ログに表示されます。

  • target_type (Optional[InviteTarget]) --

    ボイスチャンネル招待の対象の種類。

    バージョン 2.0 で追加.

  • target_user (Optional[User]) --

    この招待に表示すべきストリームのユーザー。 target_typeInviteTarget.stream の場合必須です。このユーザーはチャンネル内でストリームしていないといけません。

    バージョン 2.0 で追加.

  • target_application_id: --

    Optional[int]: 招待に紐づいた埋め込みアプリケーションのID。 target_typeInviteTarget.embedded_application の場合必須です。

    バージョン 2.0 で追加.

例外
  • HTTPException -- 招待の作成に失敗した場合。

  • NotFound -- カテゴリや不正なチャンネルが渡された場合。

戻り値

作成された招待。

戻り値の型

Invite

property created_at

チャンネルの作成された時間をUTCで返します。

datetime.datetime

await delete(*, reason=None)

This function is a coroutine.

チャンネルを削除します。

これを行うには manage_channels が必要です。

パラメータ

reason (Optional[str]) -- チャンネルを削除する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを削除するのに必要な権限がない場合。

  • NotFound -- チャンネルが見つからないか、すでに削除されていた場合。

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

await invites()

This function is a coroutine.

このチャンネルから作成された全てのアクティブなインスタント招待のリストを返します。

この情報を取得するためには、 manage_channels 権限を持っている必要があります。

例外
  • Forbidden -- 適切な権限を有していない場合。

  • HTTPException -- 情報取得中にエラーが発生した場合。

戻り値

現時点でアクティブな招待のリスト。

戻り値の型

List[Invite]

property jump_url

クライアントがこのチャンネルにジャンプすることのできるURLを返します。

バージョン 2.0 で追加.

str

property mention

チャンネルにメンションするための文字列。

str

await move(**kwargs)

This function is a coroutine.

チャンネルを他のチャンネルと相対的に移動させるのに役立つインターフェイスです。

正確に位置を移動させる場合は、代わりに edit を使用する必要があります。

これを行うには manage_channels が必要です。

注釈

ボイスチャンネルは常にテキストチャンネルの下にソートされます。これはDiscordの制限です。

バージョン 1.7 で追加.

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

パラメータ
  • beginning (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の先頭に移動させるかどうかを指定します。これは、 end, before, after とは互いに排他的です。

  • end (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の末尾に移動するかどうかを指定します。これは beginning, before, after とは互いに排他的です。

  • before (Snowflake) -- このチャンネルの前にあるべきチャンネル。これと beginningendafter は同時に使用できません。

  • after (Snowflake) -- このチャンネルの後にあるべきチャンネル。これと beginningendbefore は同時に使用できません。

  • offset (int) -- 移動のオフセット。たとえば、 beginning=True の場合にてオフセットが 2 ならば、チャンネルは始めから2つ分の場所に動きます。正の整数を渡すと下に、負の整数を渡すと上に動きます。この数は相対的で beginningendbeforeafter パラメータの後に計算されます。

  • category (Optional[Snowflake]) -- チャンネルの移動先のカテゴリ。 None を渡した場合はチャンネルはカテゴリに属さなくなります。このパラメータはカテゴリチャンネルの場合は無視されます。

  • sync_permissions (bool) -- (カテゴリが指定されている場合に)権限を同期すべきか。

  • reason (str) -- 移動の理由。

例外
  • ValueError -- 位置が無効な場合。

  • TypeError -- 同時に指定できない引数らが同時に指定された場合。

  • Forbidden -- チャンネルを移動する権限がない場合。

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

property overwrites

チャンネルの上書きをすべて返します。

これは、 RoleMember のターゲットをキーとし、 PermissionOverwrite を値とする辞書型として返されます。

バージョン 2.0 で変更: キャッシュ取得に失敗した場合、上書きが型付きの Object になるようになりました。

戻り値

チャンネルの権限の上書き。

戻り値の型

Dict[Union[Role, Member, Object], PermissionOverwrite]

overwrites_for(obj)

メンバーまたはロール固有の上書きされたリストを返します

パラメータ

obj (Union[Role, User, Object]) -- 上書きの対象となるロールやユーザー。

戻り値

そのオブジェクトの権限の上書き。

戻り値の型

PermissionOverwrite

property permissions_synced

チャンネルの権限が属するカテゴリと同期されているかどうか。

カテゴリがない場合は False になります。

バージョン 1.3 で追加.

bool

await set_permissions(target, *, overwrite=see - below, reason=None, **permissions)

This function is a coroutine.

ある対象に対して特定のチャンネルでの権限の上書きを設定します。

target パラメータは当該ギルドに属する MemberRole であるべきです。

overwrite パラメータを渡す場合は、それは None か、 PermissionOverwrite でないといけません。利便性のため、 Permissions の属性を示すキーワード引数を渡すこともできます。これと overwrite パラメータは同時に使用できません。

overwrite パラメータが None の場合は権限の上書きは削除されます。

これを行うには manage_roles が必要です。

注釈

これは、以前の上書きを与えられたもので 置き換えます

サンプル

許可と拒否の設定:

await message.channel.set_permissions(message.author, read_messages=True,
                                                      send_messages=False)

上書きの削除

await channel.set_permissions(member, overwrite=None)

PermissionOverwrite を使用します

overwrite = discord.PermissionOverwrite()
overwrite.send_messages = False
overwrite.read_messages = True
await channel.set_permissions(member, overwrite=overwrite)

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

パラメータ
  • target (Union[Member, Role]) -- 権限を上書きするメンバーかロール。

  • overwrite (Optional[PermissionOverwrite]) -- 対象に対して許可し、または拒否する権限。 None を渡すと上書きを削除できます。

  • **permissions -- 設定すべき権限のキーワード引数リスト。これは overwrite と同時に使用できません。

  • reason (Optional[str]) -- アクションを実行する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルの権限を編集するための権限がない場合。

  • HTTPException -- チャンネルの権限を編集するのに失敗した場合。

  • NotFound -- 編集中のロールやメンバーがギルドに属さない場合。

  • TypeError -- overwrite パラメータが無効か、対象が RoleMember でなかった場合。

  • ValueError -- overwrite パラメータと positions パラメータの両方とも指定されていなかった場合。

Thread

class discord.Thread

Discordのスレッドを表します。

x == y

二つのスレッドが等しいかを比較します。

x != y

二つのスレッドが等しいものではないか比較します。

hash(x)

スレッドのハッシュ値を返します。

str(x)

スレッドの名前を返します。

バージョン 2.0 で追加.

name

スレッドの名前。

str

guild

このスレッドが属するギルド。

Guild

id

スレッドID。スレッドの最初のメッセージのIDと同じです。

int

parent_id

スレッドが属する親 TextChannel または ForumChannel のID。

int

owner_id

このスレッドを作成したユーザーのID。

int

last_message_id

このスレッドに送信された最後のメッセージのID。既存または有効なメッセージを指して いない 場合があります。

Optional[int]

slowmode_delay

このスレッドにメッセージを送信する間にメンバーが待たなければいけない時間。値が 0 の場合これは無効です。ボットやユーザーが manage_channelsmanage_messages 権限を有する場合低速モードを回避できます。

int

message_count

このスレッドのおおよそのメッセージ数。

int

member_count

このスレッドのおおよそのメンバー数。この値は50の上限があります。

int

me

スレッドに参加している場合、自分自身を示すスレッドメンバーです。これは利用できない場合があります。

Optional[ThreadMember]

archived

スレッドがアーカイブされているかどうか。

bool

locked

スレッドがロックされているかどうか。

bool

invitable

モデレータでないユーザーがこのスレッドに他のモデレータでないユーザーを追加できるかどうか。これは公開スレッドでは常に True です。

bool

archiver_id

このスレッドをアーカイブしたユーザーのID。

Optional[int]

auto_archive_duration

スレッドがチャンネルリストから自動的に非表示になるまでの分単位の期間。通常は60、1440、4320、10080のいずれかの値です。

int

archive_timestamp

スレッドのアーカイブ状態が最後に更新されたときのUTCでのawareなタイムスタンプ。

datetime.datetime

async with typing()

入力インジケーターを宛先に無期限で、または await で呼び出された場合10秒間表示できるようにする非同期コンテキストマネージャーを返します。

使用例:

async with channel.typing():
    # simulate something heavy
    await asyncio.sleep(20)

await channel.send('Done!')

使用例:

await channel.typing()
# Do some computational magic for about 10 seconds
await channel.send('Done!')

バージョン 2.0 で変更: これは with 構文で動作せず、代わりに async with を使用しないといけないように変更されました。

バージョン 2.0 で変更: コンテキストマネージャーを await して入力インジケーターを10秒間送信する機能を追加しました。

property type

チャンネルのDiscordタイプ。

ChannelType

property parent

このスレッドが属する親チャンネル。

Optional[Union[ForumChannel, TextChannel]]

property flags

このスレッドに関連付けられたフラグ。

ChannelFlags

property owner

スレッドを所有するメンバー。

Optional[Member]

property mention

スレッドにメンションするための文字列。

str

property jump_url

クライアントがこのスレッドにジャンプすることのできるURLを返します。

バージョン 2.0 で追加.

str

property members

スレッドのメンバーのリスト。

これを適切に使用するには Intents.members が必要です。しかし、ほとんどの場合では、このデータはゲートウェイにより提供されていないため fetch_members() を呼び出さないといけません。

List[ThreadMember]

property applied_tags

スレッドに適用されたタグのリスト。

バージョン 2.1 で追加.

List[ForumTag]

property starter_message

キャッシュからスレッドの最初のメッセージを返します。

このメッセージはキャッシュされていなかったり、有効でなかったり、存在するものでない場合があります。

スレッドの最初のメッセージのIDはスレッドIDと同じです。

戻り値

スレッドの最初のメッセージ、または該当するものが見つからない場合 None が返ります。

戻り値の型

Optional[Message]

property last_message

キャッシュからこのスレッドに最後に送信されたメッセージを返します。

このメッセージは有効でなかったり、存在するものでない場合があります。

信頼性の高い取得方法

より信頼性のある最後のメッセージの取得方法として、 history()last_message_idfetch_message() の組み合わせがあります。

戻り値

このチャンネルの最後のメッセージ。見つからない場合は None です。

戻り値の型

Optional[Message]

property category

該当する場合、親チャンネルが属するカテゴリチャンネル。

例外

ClientException -- 親チャンネルがキャッシュされておらず、 None を返した場合。

戻り値

親チャンネルのカテゴリ。

戻り値の型

Optional[CategoryChannel]

property category_id

該当する場合、親チャンネルが属するカテゴリチャンネルのID。

例外

ClientException -- 親チャンネルがキャッシュされておらず、 None を返した場合。

戻り値

親チャンネルのカテゴリID。

戻り値の型

Optional[int]

property created_at

スレッドが作成されたときのUTCでのaware タイムスタンプ。

注釈

このタイムスタンプは、2022 年1 月 9 日以降に作成されたスレッドにのみ存在します。それ以外の場合は None を返します。

is_private()

bool: スレッドがプライベートスレッドかどうか。

プライベートスレッドは、明示的に招待された者と manage_threads 権限を有する者のみが閲覧できます。

is_news()

bool: スレッドがニューススレッドかどうか。

ニューススレッドは親がニュースチャンネルであるスレッドです。つまり、 TextChannel.is_news()True であるものです。

is_nsfw()

bool: スレッドに年齢制限があるか。

年齢制限のあるスレッドとは親チャンネルに年齢制限があるスレッドです。つまり、 TextChannel.is_nsfw()True であるものです。

permissions_for(obj, /)

MemberRole の権限を解決します。

スレッドは独自の権限を有さないため、親チャンネルから一部の変更を加えたうえでほとんどの権限を継承します。

パラメータ

obj (Union[Member, Role]) -- 権限を解決すべきオブジェクト。これはメンバーかロールです。ロールの場合メンバーの上書きは判断しません。

例外

ClientException -- 親チャンネルがキャッシュされておらず、 None を返した場合。

戻り値

メンバーまたはロールの解決された権限。

戻り値の型

Permissions

await delete_messages(messages, /, *, reason=None)

This function is a coroutine.

メッセージのリストを削除します。複数のメッセージを一括削除する点を除き、これは Message.delete() に似ています。

スペシャルケースとして、もしメッセージ数が0の場合は何もせず、メッセージ数が1の場合は単独のメッセージ削除が行われます。これが2以上の場合一括削除が行われます。

14日以上前のメッセージや100件以上のメッセージを一括削除することはできません。

これを行うには、 manage_messages が必要です。

パラメータ
  • messages (Iterable[abc.Snowflake]) -- 一括削除するものを示すメッセージのiterableオブジェクト。

  • reason (Optional[str]) -- メッセージを一括削除する理由。監査ログに表示されます。

例外
  • ClientException -- 削除するメッセージの数が100以上の場合。

  • Forbidden -- メッセージを削除するための適切な権限がないか、ボットアカウントを使用していない場合。

  • NotFound -- 1メッセージのみ削除する時、メッセージが既に削除されていた場合。

  • HTTPException -- メッセージの削除に失敗した場合。

await purge(*, limit=100, check=..., before=None, after=None, around=None, oldest_first=None, bulk=True, reason=None)

This function is a coroutine.

check 関数の要件を満たすメッセージを一括削除します。 check が渡されない場合はすべてのメッセージが削除されます。

メッセージを削除するときに、それが自分のものであったとしても、削除するには manage_messages が必要です。メッセージの履歴を取得するために read_message_history も必要になります。

サンプル

Botによるメッセージを削除する

def is_me(m):
    return m.author == client.user

deleted = await thread.purge(limit=100, check=is_me)
await thread.send(f'Deleted {len(deleted)} message(s)')
パラメータ
  • limit (Optional[int]) -- 検索するメッセージ数。これは削除するメッセージ数になるとは必ずしも限りません。

  • check (Callable[[Message], bool]) -- メッセージが削除されるかどうかを確認するために使用される関数。 Message を唯一のパラメータとして受け取る必要があります。

  • before (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での before と同じです。

  • after (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での after と同じです。

  • around (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での around と同じです。

  • oldest_first (Optional[bool]) -- history() での oldest_first と同じです。

  • bulk (bool) -- True の場合、一括削除を使用します。これを False に設定すると、 Permissions.manage_messages なしでボット自身のメッセージを一括削除することができます。 True の場合でも、2週間以上前のメッセージは個別に削除されます。

  • reason (Optional[str]) -- メッセージを一括削除する理由。監査ログに表示されます。

例外
  • Forbidden -- 必要なアクションをするための適切な権限がない場合。

  • HTTPException -- メッセージの一括削除に失敗した場合。

戻り値

削除されたメッセージのlist。

戻り値の型

List[Message]

await edit(*, name=..., archived=..., locked=..., invitable=..., pinned=..., slowmode_delay=..., auto_archive_duration=..., applied_tags=..., reason=None)

This function is a coroutine.

スレッドを編集します。

スレッドの編集には Permissions.manage_threads 権限が必要です。スレッドの作成者は namearchivedauto_archive_duration も編集できます。もしスレッドがロックされている場合は Permissions.manage_threads 権限を有する者のみスレッドのアーカイブを解除できます。

スレッドを編集するにはアーカイブを解除する必要があります。

パラメータ
  • name (str) -- スレッドの新しい名前。

  • archived (bool) -- スレッドをアーカイブするかどうか。

  • locked (bool) -- スレッドをロックするかどうか。

  • pinned (bool) -- スレッドをピン留めするかどうか。スレッドがフォーラムに属する場合にのみ動作します。

  • invitable (bool) -- モデレータでないユーザーがこのスレッドに他のモデレータでないユーザーを追加できるかどうか。プライベートスレッドでのみ利用できます。

  • auto_archive_duration (int) -- スレッドが自動的にチャンネルリストから非表示となるまでの分単位の新しい期間。6014404320、または 10080 のいずれかでなければなりません。

  • slowmode_delay (int) -- 秒単位でこのスレッドのユーザーの低速モードの値を指定します。 0 を渡すと低速モードを無効にできます。可能な最大の値は 21600 です。

  • applied_tags (Sequence[ForumTag]) --

    スレッドに適用する新しいタグ。スレッドに適用できるタグは最大5つまでです。

    バージョン 2.1 で追加.

  • reason (Optional[str]) -- スレッドを編集する理由。監査ログに表示されます。

例外
  • Forbidden -- スレッドを編集する権限がない場合。

  • HTTPException -- スレッドの編集に失敗した場合。

戻り値

新しく編集されたスレッド。

戻り値の型

Thread

await add_tags(*tags, reason=None)

This function is a coroutine.

渡されたフォーラムタグをスレッドに追加します。

自身で作成したスレッド以外でこれを使用するには、 manage_threads が必要です。

ForumTag.moderatedTrue に設定されているタグを追加するには、 manage_threads が必要になります。

スレッドに追加できるタグの最大数は 5 です。

親チャンネルは ForumChannel でなければなりません。

バージョン 2.1 で追加.

パラメータ
例外
  • Forbidden -- タグを追加する権限がない場合。

  • HTTPException -- タグの追加に失敗した場合。

await remove_tags(*tags, reason=None)

This function is a coroutine.

渡されたフォーラムタグをスレッドから除去します。

自身で作成したスレッド以外でこれを使用するには、 manage_threads が必要です。

親チャンネルは ForumChannel でなければなりません。

バージョン 2.1 で追加.

パラメータ
例外
  • Forbidden -- タグを除去する権限がない場合。

  • HTTPException -- タグの除去に失敗した場合。

await join()

This function is a coroutine.

スレッドに参加します。

スレッドに参加するには send_messages_in_threads 権限が必要です。スレッドがプライベートの場合は、 manage_threads も必要です。

例外
  • Forbidden -- スレッドに参加する権限を持っていない場合。

  • HTTPException -- スレッドへの参加に失敗した場合。

await leave()

This function is a coroutine.

このスレッドから退出します。

例外

HTTPException -- スレッドの退出に失敗した場合。

await add_user(user, /)

This function is a coroutine.

このスレッドにユーザーを追加します。

スレッドにユーザーを追加するには send_messages_in_threads 権限が必要です。このスレッドがプライベートで invitableFalse ならば manage_messages 権限も必要です。

パラメータ

user (abc.Snowflake) -- スレッドに追加するユーザー。

例外
  • Forbidden -- スレッドにユーザーを追加する権限がない場合。

  • HTTPException -- スレッドへのユーザーの追加に失敗した場合。

await remove_user(user, /)

This function is a coroutine.

このスレッドからユーザーを除去します。

ユーザーの除去には、 manage_threads 権限を持ち、またはスレッドの作成者である必要があります。

パラメータ

user (abc.Snowflake) -- スレッドから除去するユーザー。

例外
  • Forbidden -- スレッドからユーザーを除去する権限がない場合。

  • HTTPException -- スレッドからユーザーを除去するのに失敗した場合。

await fetch_member(user_id, /)

This function is a coroutine.

指定されたユーザー ID の ThreadMember を取得します。

例外
  • NotFound -- 指定されたユーザーがこのスレッドのメンバーでない場合。

  • HTTPException -- メンバーの取得に失敗した場合。

戻り値

指定されたユーザー IDのスレッドメンバー。

戻り値の型

ThreadMember

await fetch_members()

This function is a coroutine.

このスレッドにいるすべての ThreadMember を取得します。

あなた自身以外のメンバーに関する情報を取得するには、 Intents.members が必要です。

例外

HTTPException -- メンバーの取得に失敗した場合。

戻り値

スレッドのすべてのメンバー。

戻り値の型

List[ThreadMember]

await delete()

This function is a coroutine.

スレッドを削除します。

スレッドを削除するには、 manage_threads 権限が必要です。

例外
  • Forbidden -- スレッドを削除する権限がない場合。

  • HTTPException -- スレッドの削除に失敗した場合。

get_partial_message(message_id, /)

メッセージIDから PartialMessage を作成します。

これは、IDしかない場合に不必要なAPI呼び出しなくメッセージに関する作業をする時に便利です。

バージョン 2.0 で追加.

パラメータ

message_id (int) -- 部分的なメッセージのID。

戻り値

部分的なメッセージ。

戻り値の型

PartialMessage

await fetch_message(id, /)

This function is a coroutine.

宛先から、単一の Message を取得します。

パラメータ

id (int) -- 探すメッセージのID。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

要求されたメッセージ。

戻り値の型

Message

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)

チャンネルのメッセージ履歴を取得する asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

サンプル

使い方

counter = 0
async for message in channel.history(limit=200):
    if message.author == client.user:
        counter += 1

リストにフラット化:

messages = [message async for message in channel.history(limit=123)]
# messages is now a list of Message...

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

パラメータ
  • limit (Optional[int]) -- 取得するメッセージの数。 None の場合、チャンネル内のメッセージすべてを取得します。ただし、これには時間がかかります。

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

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

  • around (Optional[Union[Snowflake, datetime.datetime]]) -- 渡された日付、またはメッセージあたりのメッセージを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。この引数を使用するときは、取得できる最大のメッセージ数は101個です。もし制限が偶数の場合は最大でそれに1を加えた分だけ返します。

  • oldest_first (Optional[bool]) -- True の場合、古いものから新しいものの順でメッセージを返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

例外
  • Forbidden -- メッセージ履歴を読む権限が無い場合。

  • HTTPException -- メッセージ履歴の取得に失敗した場合。

列挙

Message -- メッセージデータをパースしたメッセージ。

await pins()

This function is a coroutine.

現時点でチャンネルにピン留めされている全てのメッセージを取得します。

注釈

Discord APIの制限により、このメソッドの返した Message オブジェクトには、完全な Message.reactions のデータが含まれていません。

例外
  • Forbidden -- ピン留めされたメッセージの取得に必要な権限がない場合。

  • HTTPException -- ピン留めされたメッセージの取得に失敗した場合。

戻り値

現時点でピン留めされているメッセージ。

戻り値の型

List[Message]

await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, silent=False)

This function is a coroutine.

指定された内容のメッセージを宛先に送信します。

contentは、 str(content) によって文字列に変換が可能である必要があります。もしcontentに None (デフォルト) を指定するなら、 embed パラメータを設定する必要があります。

単一のファイルをアップロードするには、 file パラメータに File オブジェクトを指定する必要があります。複数のファイルをアップロードするには、 files パラメータに File オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

単一の埋め込みを送信するには、 embed パラメータに Embed オブジェクトを指定する必要があります。複数の埋め込みを送信するには、 embeds パラメータに Embed オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

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

パラメータ
  • content (Optional[str]) -- 送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) --

    送信する埋め込みのリスト。最大10個まで送信できます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • nonce (int) -- メッセージの送信時に使用するナンス値。メッセージが正常に送信された場合、このメッセージには指定されたナンス値が含まれます。

  • delete_after (float) -- 指定したなら、これはメッセージを送信したあと待機し、すぐ削除する秒数となります。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (AllowedMentions) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • reference (Union[Message, MessageReference, PartialMessage]) --

    返信する Message への参照。これは、 to_reference() を使用して作成することができ、また Message を直接渡すこともできます。これが返信元のメッセージの投稿者をメンションすべきかは、 allowed_mentionsreplied_user 属性や、 mention_author パラメータで制御できます。

    バージョン 1.6 で追加.

  • mention_author (Optional[bool]) --

    設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

    バージョン 1.6 で追加.

  • view (discord.ui.View) --

    メッセージに追加するDiscord UI ビュー。

    バージョン 2.0 で追加.

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) --

    送信するスタンプのリスト。最大3個まで送信できます。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、 embedembeds の両方が指定された場合、または referenceMessageMessageReferencePartialMessage でない場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

ThreadMember

class discord.ThreadMember

Discordのスレッドのメンバーを表します。

x == y

二つのスレッドメンバーが等しいかを比較します。

x != y

二つのスレッドメンバーが等しくないかを比較します。

hash(x)

スレッドメンバーのハッシュ値を返します。

str(x)

スレッドメンバーの名前を返します。

バージョン 2.0 で追加.

id

スレッドメンバーのID。

int

thread_id

スレッドのID。

int

joined_at

メンバーがスレッドに参加したUTC時刻。

datetime.datetime

property thread

メンバーが属するスレッド。

Thread

VoiceChannel

class discord.VoiceChannel

Discordサーバーのボイスチャンネル。

x == y

二つのチャンネルが等しいかを比較します。

x != y

二つのチャンネルが等しいものではないか比較します。

hash(x)

チャンネルのハッシュ値を返します。

str(x)

チャンネルの名前を返します。

name

チャンネル名。

str

guild

チャンネルが属するギルド。

Guild

id

チャンネルのID。

int

nsfw

チャンネルに年齢制限がかかっているか。

バージョン 2.0 で追加.

bool

category_id

該当する場合、このチャンネルが属するカテゴリチャンネルのID。

Optional[int]

position

チャンネルリストにおける位置。これは0から始まる番号で、最も上のチャンネルの位置は0です。

int

bitrate

チャンネルのビット毎秒単位の推奨オーディオビットレート設定。

int

user_limit

ボイスチャンネルに参加できるメンバー数の制限。

int

rtc_region

ボイスチャンネルの音声通信のためのリージョン。値が None の場合は自動で検出されます。

バージョン 1.7 で追加.

バージョン 2.0 で変更: この属性の型は str に変更されました。

Optional[str]

video_quality_mode

ボイスチャンネル参加者のカメラビデオの画質。

バージョン 2.0 で追加.

VideoQualityMode

last_message_id

このチャンネルに送信された最後のメッセージのID。既存または有効なメッセージを指して いない 場合があります。

バージョン 2.0 で追加.

Optional[int]

slowmode_delay

このチャンネルにメッセージを送信する間にメンバーが待たなければいけない時間。値が 0 の場合これは無効です。ボットやユーザーが manage_channelsmanage_messages 権限を有する場合低速モードを回避できます。

バージョン 2.2 で追加.

int

property type

チャンネルのDiscordタイプ。

ChannelType

await clone(*, name=None, reason=None)

This function is a coroutine.

チャンネルをクローンします。これはそのチャンネルと同じ属性を持つチャンネルを作成します。

これを行うには manage_channels が必要です。

バージョン 1.1 で追加.

パラメータ
  • name (Optional[str]) -- 新しいチャンネルの名前。渡されない場合はこのチャンネルの名前が使用されます。

  • reason (Optional[str]) -- チャンネルを複製する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

戻り値

作成されたチャンネル。

戻り値の型

abc.GuildChannel

await edit(*, reason=None, **options)

This function is a coroutine.

チャンネルを編集します。

これを行うには、 manage_channels が必要です。

バージョン 1.3 で変更: overwrites キーワード引数が追加されました。

バージョン 2.0 で変更: 編集はチャンネルを置き換えず、編集された新しいチャンネルが返されるようになりました。

バージョン 2.0 で変更: region パラメータは列挙型の代わりに str を受け付けるようになりました。

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

パラメータ
  • name (str) -- チャンネルの新しい名前。

  • bitrate (int) -- チャンネルの新しいビットレート。

  • nsfw (bool) -- チャンネルに年齢制限をかけるかどうか。

  • user_limit (int) -- チャンネルの新しいユーザー人数制限。

  • position (int) -- チャンネルの位置。

  • sync_permissions (bool) -- チャンネルの新しい、又は既存のカテゴリと権限を同期するか。デフォルトは False です。

  • category (Optional[CategoryChannel]) -- チャンネルの新しいカテゴリ。カテゴリを削除するには None を指定できます。

  • slowmode_delay (int) -- 秒単位でこのチャンネルのユーザーの低速モードの値を指定します。 0 を渡すと低速モードを無効にできます。可能な最大の値は 21600 です。

  • reason (Optional[str]) -- チャンネルを編集する理由。監査ログに表示されます。

  • overwrites (Mapping) -- ターゲット(ロール又はメンバー)をキーとし適用される PermissionOverwrite を値とする Mapping

  • rtc_region (Optional[str]) --

    ボイスチャンネルの新しい音声通信のためのリージョン。値が None の場合は自動で検出されます。

    バージョン 1.7 で追加.

  • video_quality_mode (VideoQualityMode) --

    ボイスチャンネル参加者のカメラビデオの画質。

    バージョン 2.0 で追加.

  • status (Optional[str]) --

    The new voice channel status. It can be up to 500 characters. Can be None to remove the status.

    バージョン 2.4 で追加.

例外
  • TypeError -- 権限の上書きの情報が適切なものでない場合。

  • Forbidden -- チャンネルを編集する権限がない場合。

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

戻り値

新しく編集されたボイスチャンネル。編集が位置のみだった場合は代わりに None が返されます。

戻り値の型

Optional[VoiceChannel]

property category

チャンネルが属するカテゴリ。

カテゴリがない場合は None になります。

Optional[CategoryChannel]

property changed_roles

roles 属性にて指定されたデフォルト値から上書きされたロールのリストを返します。

List[Role]

await connect(*, timeout=30.0, reconnect=True, cls=<class 'discord.voice_client.VoiceClient'>, self_deaf=False, self_mute=False)

This function is a coroutine.

ボイスに接続し VoiceClient を作成してボイスサーバーへの接続を確立します。

voice_states が必要です。

パラメータ
  • timeout (float) -- The timeout in seconds to wait the connection to complete.

  • reconnect (bool) -- ハンドシェイクの一部が失敗し、またはゲートウェイが使用できない場合に、ボットが自動で再接続を試みるべきか。

  • cls (Type[VoiceProtocol]) -- VoiceProtocol をサブクラスする型。既定値は VoiceClient

  • self_mute (bool) --

    クライアントをセルフミュートすべきか。

    バージョン 2.0 で追加.

  • self_deaf (bool) --

    クライアントをセルフスピーカーミュートすべきか。

    バージョン 2.0 で追加.

例外
  • asyncio.TimeoutError -- 時間内にボイスチャンネルに接続できなかった場合。

  • ClientException -- すでにボイスチャンネルに接続している場合。

  • OpusNotLoaded -- opusライブラリが読み込まれていない場合。

戻り値

ボイスサーバーに完全に接続されたボイスクライアント。

戻り値の型

VoiceProtocol

await create_invite(*, reason=None, max_age=0, max_uses=0, temporary=False, unique=True, target_type=None, target_user=None, target_application_id=None)

This function is a coroutine.

テキストやボイスチャンネルから招待を作成します。

これを行うには、 create_instant_invite が必要です。

パラメータ
  • max_age (int) -- 招待の有効期限の秒単位の長さ。0の場合、招待は期限切れにはなりません。これはデフォルトでは 0 になります。

  • max_uses (int) -- 招待の使用回数の制限。もしこれが0なら、招待を無制限に使用することができます。デフォルトではこれは 0 になります。

  • temporary (bool) -- 一時的なメンバーとして招待するかを示しています。(つまり、招待されたメンバーは、特定のロールを付与されない限り、Discordを切断するときキックされます。)デフォルトは False です。

  • unique (bool) -- 新しい招待URLを作成すべきか示します。既定ではTrueです。これが False に指定された場合は、前に作成された招待を返します。

  • reason (Optional[str]) -- 招待を作成する理由。監査ログに表示されます。

  • target_type (Optional[InviteTarget]) --

    ボイスチャンネル招待の対象の種類。

    バージョン 2.0 で追加.

  • target_user (Optional[User]) --

    この招待に表示すべきストリームのユーザー。 target_typeInviteTarget.stream の場合必須です。このユーザーはチャンネル内でストリームしていないといけません。

    バージョン 2.0 で追加.

  • target_application_id: --

    Optional[int]: 招待に紐づいた埋め込みアプリケーションのID。 target_typeInviteTarget.embedded_application の場合必須です。

    バージョン 2.0 で追加.

例外
  • HTTPException -- 招待の作成に失敗した場合。

  • NotFound -- カテゴリや不正なチャンネルが渡された場合。

戻り値

作成された招待。

戻り値の型

Invite

await create_webhook(*, name, avatar=None, reason=None)

This function is a coroutine.

チャンネルに新しいWebhookを作ります。

これを行うには、 manage_webhooks が必要です。

バージョン 2.0 で追加.

パラメータ
  • name (str) -- Webhookの名前。

  • avatar (Optional[bytes]) -- Webhookのデフォルトアバターを表す bytes-like objectedit() と同様に動作します。

  • reason (Optional[str]) -- Webhookを作成する理由。監査ログに表示されます。

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

  • Forbidden -- Webhookを作成する権限を持っていない場合。

戻り値

作成されたwebhook。

戻り値の型

Webhook

property created_at

チャンネルの作成された時間をUTCで返します。

datetime.datetime

await delete(*, reason=None)

This function is a coroutine.

チャンネルを削除します。

これを行うには manage_channels が必要です。

パラメータ

reason (Optional[str]) -- チャンネルを削除する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを削除するのに必要な権限がない場合。

  • NotFound -- チャンネルが見つからないか、すでに削除されていた場合。

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

await delete_messages(messages, *, reason=None)

This function is a coroutine.

メッセージのリストを削除します。複数のメッセージを一括削除する点を除き、これは Message.delete() に似ています。

スペシャルケースとして、もしメッセージ数が0の場合は何もせず、メッセージ数が1の場合は単独のメッセージ削除が行われます。これが2以上の場合一括削除が行われます。

14日以上前のメッセージや100件以上のメッセージを一括削除することはできません。

これを行うには、 manage_messages が必要です。

バージョン 2.0 で追加.

パラメータ
  • messages (Iterable[abc.Snowflake]) -- 一括削除するものを示すメッセージのiterableオブジェクト。

  • reason (Optional[str]) -- メッセージを一括削除する理由。監査ログに表示されます。

例外
  • ClientException -- 削除するメッセージの数が100以上の場合。

  • Forbidden -- メッセージを一括削除するための適切な権限がない場合。

  • NotFound -- 1メッセージのみ削除する時、メッセージが既に削除されていた場合。

  • HTTPException -- メッセージの削除に失敗した場合。

await fetch_message(id, /)

This function is a coroutine.

宛先から、単一の Message を取得します。

パラメータ

id (int) -- 探すメッセージのID。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

要求されたメッセージ。

戻り値の型

Message

get_partial_message(message_id, /)

メッセージIDから PartialMessage を作成します。

これは、IDしかない場合に不必要なAPI呼び出しなくメッセージに関する作業をする時に便利です。

バージョン 2.0 で追加.

パラメータ

message_id (int) -- 部分的なメッセージのID。

戻り値

部分的なメッセージ。

戻り値の型

PartialMessage

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)

チャンネルのメッセージ履歴を取得する asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

サンプル

使い方

counter = 0
async for message in channel.history(limit=200):
    if message.author == client.user:
        counter += 1

リストにフラット化:

messages = [message async for message in channel.history(limit=123)]
# messages is now a list of Message...

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

パラメータ
  • limit (Optional[int]) -- 取得するメッセージの数。 None の場合、チャンネル内のメッセージすべてを取得します。ただし、これには時間がかかります。

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

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

  • around (Optional[Union[Snowflake, datetime.datetime]]) -- 渡された日付、またはメッセージあたりのメッセージを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。この引数を使用するときは、取得できる最大のメッセージ数は101個です。もし制限が偶数の場合は最大でそれに1を加えた分だけ返します。

  • oldest_first (Optional[bool]) -- True の場合、古いものから新しいものの順でメッセージを返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

例外
  • Forbidden -- メッセージ履歴を読む権限が無い場合。

  • HTTPException -- メッセージ履歴の取得に失敗した場合。

列挙

Message -- メッセージデータをパースしたメッセージ。

await invites()

This function is a coroutine.

このチャンネルから作成された全てのアクティブなインスタント招待のリストを返します。

この情報を取得するためには、 manage_channels 権限を持っている必要があります。

例外
  • Forbidden -- 適切な権限を有していない場合。

  • HTTPException -- 情報取得中にエラーが発生した場合。

戻り値

現時点でアクティブな招待のリスト。

戻り値の型

List[Invite]

is_nsfw()

bool: チャンネルに年齢制限があるかどうかをチェックします。

バージョン 2.0 で追加.

property jump_url

クライアントがこのチャンネルにジャンプすることのできるURLを返します。

バージョン 2.0 で追加.

str

property last_message

キャッシュからこのチャンネルに最後に送信されたメッセージを取得します。

このメッセージは有効でなかったり、存在するものでない場合があります。

バージョン 2.0 で追加.

信頼性の高い取得方法

より信頼性のある最後のメッセージの取得方法として、 history()last_message_idfetch_message() の組み合わせがあります。

戻り値

このチャンネルの最後のメッセージ。見つからない場合は None です。

戻り値の型

Optional[Message]

property members

このボイスチャンネル内にいるすべてのメンバーを返します。

List[Member]

property mention

チャンネルにメンションするための文字列。

str

await move(**kwargs)

This function is a coroutine.

チャンネルを他のチャンネルと相対的に移動させるのに役立つインターフェイスです。

正確に位置を移動させる場合は、代わりに edit を使用する必要があります。

これを行うには manage_channels が必要です。

注釈

ボイスチャンネルは常にテキストチャンネルの下にソートされます。これはDiscordの制限です。

バージョン 1.7 で追加.

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

パラメータ
  • beginning (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の先頭に移動させるかどうかを指定します。これは、 end, before, after とは互いに排他的です。

  • end (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の末尾に移動するかどうかを指定します。これは beginning, before, after とは互いに排他的です。

  • before (Snowflake) -- このチャンネルの前にあるべきチャンネル。これと beginningendafter は同時に使用できません。

  • after (Snowflake) -- このチャンネルの後にあるべきチャンネル。これと beginningendbefore は同時に使用できません。

  • offset (int) -- 移動のオフセット。たとえば、 beginning=True の場合にてオフセットが 2 ならば、チャンネルは始めから2つ分の場所に動きます。正の整数を渡すと下に、負の整数を渡すと上に動きます。この数は相対的で beginningendbeforeafter パラメータの後に計算されます。

  • category (Optional[Snowflake]) -- チャンネルの移動先のカテゴリ。 None を渡した場合はチャンネルはカテゴリに属さなくなります。このパラメータはカテゴリチャンネルの場合は無視されます。

  • sync_permissions (bool) -- (カテゴリが指定されている場合に)権限を同期すべきか。

  • reason (str) -- 移動の理由。

例外
  • ValueError -- 位置が無効な場合。

  • TypeError -- 同時に指定できない引数らが同時に指定された場合。

  • Forbidden -- チャンネルを移動する権限がない場合。

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

property overwrites

チャンネルの上書きをすべて返します。

これは、 RoleMember のターゲットをキーとし、 PermissionOverwrite を値とする辞書型として返されます。

バージョン 2.0 で変更: キャッシュ取得に失敗した場合、上書きが型付きの Object になるようになりました。

戻り値

チャンネルの権限の上書き。

戻り値の型

Dict[Union[Role, Member, Object], PermissionOverwrite]

overwrites_for(obj)

メンバーまたはロール固有の上書きされたリストを返します

パラメータ

obj (Union[Role, User, Object]) -- 上書きの対象となるロールやユーザー。

戻り値

そのオブジェクトの権限の上書き。

戻り値の型

PermissionOverwrite

permissions_for(obj, /)

MemberRole の権限を解決します。

これは以下を考慮します:

  • サーバーの所有者

  • サーバーにあるロール

  • チャンネルの上書き

  • メンバーの上書き

  • 自動で処理される権限

  • メンバーのタイムアウト

Role が渡された場合、そのロールを持つ人が持つべき権限を確認します。つまり:

  • デフォルトのロールの権限

  • パラメータとして使用されるロールの権限

  • デフォルトのロールの権限の上書き

  • パラメータとして使用されるロールの権限の上書き

バージョン 2.0 で変更: ロールを渡すことができるようになりました。

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

パラメータ

obj (Union[Member, Role]) -- 権限を解決すべきオブジェクト。これはメンバーかロールです。ロールの場合メンバーの上書きは判断しません。

戻り値

メンバーまたはロールの解決された権限。

戻り値の型

Permissions

property permissions_synced

チャンネルの権限が属するカテゴリと同期されているかどうか。

カテゴリがない場合は False になります。

バージョン 1.3 で追加.

bool

await pins()

This function is a coroutine.

現時点でチャンネルにピン留めされている全てのメッセージを取得します。

注釈

Discord APIの制限により、このメソッドの返した Message オブジェクトには、完全な Message.reactions のデータが含まれていません。

例外
  • Forbidden -- ピン留めされたメッセージの取得に必要な権限がない場合。

  • HTTPException -- ピン留めされたメッセージの取得に失敗した場合。

戻り値

現時点でピン留めされているメッセージ。

戻り値の型

List[Message]

await purge(*, limit=100, check=..., before=None, after=None, around=None, oldest_first=None, bulk=True, reason=None)

This function is a coroutine.

check 関数の要件を満たすメッセージを一括削除します。 check が渡されない場合はすべてのメッセージが削除されます。

メッセージを削除するときに、それが自分のものであったとしても、削除するには manage_messages が必要です。メッセージの履歴を取得するために read_message_history も必要になります。

バージョン 2.0 で追加.

サンプル

Botによるメッセージを削除する

def is_me(m):
    return m.author == client.user

deleted = await channel.purge(limit=100, check=is_me)
await channel.send(f'Deleted {len(deleted)} message(s)')
パラメータ
  • limit (Optional[int]) -- 検索するメッセージ数。これは削除するメッセージ数になるとは必ずしも限りません。

  • check (Callable[[Message], bool]) -- メッセージが削除されるかどうかを確認するために使用される関数。 Message を唯一のパラメータとして受け取る必要があります。

  • before (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での before と同じです。

  • after (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での after と同じです。

  • around (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での around と同じです。

  • oldest_first (Optional[bool]) -- history() での oldest_first と同じです。

  • bulk (bool) -- True の場合、一括削除を使用します。これを False に設定すると、 Permissions.manage_messages なしでボット自身のメッセージを一括削除することができます。 True の場合でも、2週間以上前のメッセージは個別に削除されます。

  • reason (Optional[str]) -- メッセージを一括削除する理由。監査ログに表示されます。

例外
  • Forbidden -- 必要なアクションをするための適切な権限がない場合。

  • HTTPException -- メッセージの一括削除に失敗した場合。

戻り値

削除されたメッセージのlist。

戻り値の型

List[Message]

property scheduled_events

このチャンネルのすべてのスケジュールイベントを返します。

バージョン 2.0 で追加.

List[ScheduledEvent]

await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, silent=False)

This function is a coroutine.

指定された内容のメッセージを宛先に送信します。

contentは、 str(content) によって文字列に変換が可能である必要があります。もしcontentに None (デフォルト) を指定するなら、 embed パラメータを設定する必要があります。

単一のファイルをアップロードするには、 file パラメータに File オブジェクトを指定する必要があります。複数のファイルをアップロードするには、 files パラメータに File オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

単一の埋め込みを送信するには、 embed パラメータに Embed オブジェクトを指定する必要があります。複数の埋め込みを送信するには、 embeds パラメータに Embed オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

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

パラメータ
  • content (Optional[str]) -- 送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) --

    送信する埋め込みのリスト。最大10個まで送信できます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • nonce (int) -- メッセージの送信時に使用するナンス値。メッセージが正常に送信された場合、このメッセージには指定されたナンス値が含まれます。

  • delete_after (float) -- 指定したなら、これはメッセージを送信したあと待機し、すぐ削除する秒数となります。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (AllowedMentions) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • reference (Union[Message, MessageReference, PartialMessage]) --

    返信する Message への参照。これは、 to_reference() を使用して作成することができ、また Message を直接渡すこともできます。これが返信元のメッセージの投稿者をメンションすべきかは、 allowed_mentionsreplied_user 属性や、 mention_author パラメータで制御できます。

    バージョン 1.6 で追加.

  • mention_author (Optional[bool]) --

    設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

    バージョン 1.6 で追加.

  • view (discord.ui.View) --

    メッセージに追加するDiscord UI ビュー。

    バージョン 2.0 で追加.

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) --

    送信するスタンプのリスト。最大3個まで送信できます。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、 embedembeds の両方が指定された場合、または referenceMessageMessageReferencePartialMessage でない場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

await set_permissions(target, *, overwrite=see - below, reason=None, **permissions)

This function is a coroutine.

ある対象に対して特定のチャンネルでの権限の上書きを設定します。

target パラメータは当該ギルドに属する MemberRole であるべきです。

overwrite パラメータを渡す場合は、それは None か、 PermissionOverwrite でないといけません。利便性のため、 Permissions の属性を示すキーワード引数を渡すこともできます。これと overwrite パラメータは同時に使用できません。

overwrite パラメータが None の場合は権限の上書きは削除されます。

これを行うには manage_roles が必要です。

注釈

これは、以前の上書きを与えられたもので 置き換えます

サンプル

許可と拒否の設定:

await message.channel.set_permissions(message.author, read_messages=True,
                                                      send_messages=False)

上書きの削除

await channel.set_permissions(member, overwrite=None)

PermissionOverwrite を使用します

overwrite = discord.PermissionOverwrite()
overwrite.send_messages = False
overwrite.read_messages = True
await channel.set_permissions(member, overwrite=overwrite)

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

パラメータ
  • target (Union[Member, Role]) -- 権限を上書きするメンバーかロール。

  • overwrite (Optional[PermissionOverwrite]) -- 対象に対して許可し、または拒否する権限。 None を渡すと上書きを削除できます。

  • **permissions -- 設定すべき権限のキーワード引数リスト。これは overwrite と同時に使用できません。

  • reason (Optional[str]) -- アクションを実行する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルの権限を編集するための権限がない場合。

  • HTTPException -- チャンネルの権限を編集するのに失敗した場合。

  • NotFound -- 編集中のロールやメンバーがギルドに属さない場合。

  • TypeError -- overwrite パラメータが無効か、対象が RoleMember でなかった場合。

  • ValueError -- overwrite パラメータと positions パラメータの両方とも指定されていなかった場合。

typing()

入力インジケーターを宛先に無期限で、または await で呼び出された場合10秒間表示できるようにする非同期コンテキストマネージャーを返します。

使用例:

async with channel.typing():
    # simulate something heavy
    await asyncio.sleep(20)

await channel.send('Done!')

使用例:

await channel.typing()
# Do some computational magic for about 10 seconds
await channel.send('Done!')

バージョン 2.0 で変更: これは with 構文で動作せず、代わりに async with を使用しないといけないように変更されました。

バージョン 2.0 で変更: コンテキストマネージャーを await して入力インジケーターを10秒間送信する機能を追加しました。

property voice_states

このチャンネル内にボイス状態のあるメンバーIDのマッピングを返します。

バージョン 1.3 で追加.

注釈

これは、メンバーキャッシュが存在しない場合に members を置き換えるため意図的に低レベルとなっています。

戻り値

メンバーIDをキーとしボイス状態を値とするマッピング。

戻り値の型

Mapping[int, VoiceState]

await webhooks()

This function is a coroutine.

チャンネル内のWebhookのリストを取得します。

これを行うには、 manage_webhooks が必要です。

バージョン 2.0 で追加.

例外

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

戻り値

チャンネル内のWebhook。

戻り値の型

List[Webhook]

StageChannel

class discord.StageChannel

Discordサーバーのステージチャンネルを表します。

バージョン 1.7 で追加.

x == y

二つのチャンネルが等しいかを比較します。

x != y

二つのチャンネルが等しいものではないか比較します。

hash(x)

チャンネルのハッシュ値を返します。

str(x)

チャンネルの名前を返します。

name

チャンネル名。

str

guild

チャンネルが属するギルド。

Guild

id

チャンネルのID。

int

nsfw

チャンネルに年齢制限がかかっているか。

バージョン 2.0 で追加.

bool

topic

チャンネルのトピック。存在しない場合は None になります。

Optional[str]

category_id

該当する場合、このチャンネルが属するカテゴリチャンネルのID。

Optional[int]

position

チャンネルリストにおける位置。これは0から始まる番号で、最も上のチャンネルの位置は0です。

int

bitrate

チャンネルのビット毎秒単位の推奨オーディオビットレート設定。

int

user_limit

ステージチャンネルに参加できるメンバー数の制限。

int

rtc_region

ステージチャンネルの音声通信のためのリージョン。値が None の場合は自動で検出されます。

Optional[str]

video_quality_mode

ステージチャンネル参加者のカメラビデオの画質。

バージョン 2.0 で追加.

VideoQualityMode

last_message_id

このチャンネルに送信された最後のメッセージのID。既存または有効なメッセージを指して いない 場合があります。

バージョン 2.2 で追加.

Optional[int]

slowmode_delay

このチャンネルにメッセージを送信する間にメンバーが待たなければいけない時間。値が 0 の場合これは無効です。ボットやユーザーが manage_channelsmanage_messages 権限を有する場合低速モードを回避できます。

バージョン 2.2 で追加.

int

property requesting_to_speak

ステージチャンネルで話すことを要求しているメンバーのリスト。

List[Member]

property speakers

ステージチャンネルで話すことが許可されたメンバーのリスト。

バージョン 2.0 で追加.

List[Member]

property listeners

ステージチャンネルで聴いているメンバーのリスト。

バージョン 2.0 で追加.

List[Member]

property moderators

ステージチャンネルを管理しているメンバーのリスト。

バージョン 2.0 で追加.

List[Member]

property type

チャンネルのDiscordタイプ。

ChannelType

await clone(*, name=None, reason=None)

This function is a coroutine.

チャンネルをクローンします。これはそのチャンネルと同じ属性を持つチャンネルを作成します。

これを行うには manage_channels が必要です。

バージョン 1.1 で追加.

パラメータ
  • name (Optional[str]) -- 新しいチャンネルの名前。渡されない場合はこのチャンネルの名前が使用されます。

  • reason (Optional[str]) -- チャンネルを複製する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

戻り値

作成されたチャンネル。

戻り値の型

abc.GuildChannel

property instance

ステージチャンネルの開催中のステージインスタンス。

バージョン 2.0 で追加.

Optional[StageInstance]

await create_instance(*, topic, privacy_level=..., send_start_notification=False, scheduled_event=..., reason=None)

This function is a coroutine.

ステージインスタンスを作成します。

これを行うには、 manage_channels が必要です。

バージョン 2.0 で追加.

パラメータ
  • topic (str) -- ステージインスタンスのトピック。

  • privacy_level (PrivacyLevel) -- ステージインスタンスのプライバシーレベル。デフォルトは PrivacyLevel.guild_only です。

  • send_start_notification (bool) --

    開始通知を送信するかどうか。 True の場合、プッシュ通知を@everyoneに送信します。 デフォルトは False です。これを行うには、 mention_everyone が必要です。

    バージョン 2.3 で追加.

  • scheduled_event (Snowflake) --

    The guild scheduled event associated with the stage instance.

    バージョン 2.4 で追加.

  • reason (str) -- ステージインスタンスを作成する理由。監査ログに表示されます。

例外
  • TypeError -- 引数 privacy_level が適切な型でない場合。

  • Forbidden -- ステージインスタンスを作成する権限がない場合。

  • HTTPException -- ステージインスタンスの作成に失敗した場合。

戻り値

新しく作成されたステージインスタンス。

戻り値の型

StageInstance

await fetch_instance()

This function is a coroutine.

開催中の StageInstance を取得します。

バージョン 2.0 で追加.

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

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

戻り値

ステージインスタンス。

戻り値の型

StageInstance

await edit(*, reason=None, **options)

This function is a coroutine.

チャンネルを編集します。

これを行うには、 manage_channels が必要です。

バージョン 2.0 で変更: topic パラメーターは create_instance で設定する必要があります。

バージョン 2.0 で変更: 編集はチャンネルを置き換えず、編集された新しいチャンネルが返されるようになりました。

バージョン 2.0 で変更: region パラメータは列挙型の代わりに str を受け付けるようになりました。

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

パラメータ
  • name (str) -- チャンネルの新しい名前。

  • position (int) -- チャンネルの位置。

  • nsfw (bool) -- チャンネルに年齢制限をかけるかどうか。

  • user_limit (int) -- チャンネルの新しいユーザー人数制限。

  • sync_permissions (bool) -- チャンネルの新しい、又は既存のカテゴリと権限を同期するか。デフォルトは False です。

  • category (Optional[CategoryChannel]) -- チャンネルの新しいカテゴリ。カテゴリを削除するには None を指定できます。

  • slowmode_delay (int) -- 秒単位でこのチャンネルのユーザーの低速モードの値を指定します。 0 を渡すと低速モードを無効にできます。可能な最大の値は 21600 です。

  • reason (Optional[str]) -- チャンネルを編集する理由。監査ログに表示されます。

  • overwrites (Mapping) -- ターゲット(ロール又はメンバー)をキーとし適用される PermissionOverwrite を値とする Mapping

  • rtc_region (Optional[str]) -- 新しいステージチャンネルの音声通信のためのリージョン。値が None の場合は自動で検出されます。

  • video_quality_mode (VideoQualityMode) --

    ステージチャンネル参加者のカメラビデオの画質。

    バージョン 2.0 で追加.

例外
  • ValueError -- 権限の上書きの情報が適切なものでない場合。

  • Forbidden -- チャンネルを編集する権限がない場合。

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

戻り値

新しく編集されたステージチャンネル。編集が位置のみだった場合は代わりに None が返されます。

戻り値の型

Optional[StageChannel]

property category

チャンネルが属するカテゴリ。

カテゴリがない場合は None になります。

Optional[CategoryChannel]

property changed_roles

roles 属性にて指定されたデフォルト値から上書きされたロールのリストを返します。

List[Role]

await connect(*, timeout=30.0, reconnect=True, cls=<class 'discord.voice_client.VoiceClient'>, self_deaf=False, self_mute=False)

This function is a coroutine.

ボイスに接続し VoiceClient を作成してボイスサーバーへの接続を確立します。

voice_states が必要です。

パラメータ
  • timeout (float) -- The timeout in seconds to wait the connection to complete.

  • reconnect (bool) -- ハンドシェイクの一部が失敗し、またはゲートウェイが使用できない場合に、ボットが自動で再接続を試みるべきか。

  • cls (Type[VoiceProtocol]) -- VoiceProtocol をサブクラスする型。既定値は VoiceClient

  • self_mute (bool) --

    クライアントをセルフミュートすべきか。

    バージョン 2.0 で追加.

  • self_deaf (bool) --

    クライアントをセルフスピーカーミュートすべきか。

    バージョン 2.0 で追加.

例外
  • asyncio.TimeoutError -- 時間内にボイスチャンネルに接続できなかった場合。

  • ClientException -- すでにボイスチャンネルに接続している場合。

  • OpusNotLoaded -- opusライブラリが読み込まれていない場合。

戻り値

ボイスサーバーに完全に接続されたボイスクライアント。

戻り値の型

VoiceProtocol

await create_invite(*, reason=None, max_age=0, max_uses=0, temporary=False, unique=True, target_type=None, target_user=None, target_application_id=None)

This function is a coroutine.

テキストやボイスチャンネルから招待を作成します。

これを行うには、 create_instant_invite が必要です。

パラメータ
  • max_age (int) -- 招待の有効期限の秒単位の長さ。0の場合、招待は期限切れにはなりません。これはデフォルトでは 0 になります。

  • max_uses (int) -- 招待の使用回数の制限。もしこれが0なら、招待を無制限に使用することができます。デフォルトではこれは 0 になります。

  • temporary (bool) -- 一時的なメンバーとして招待するかを示しています。(つまり、招待されたメンバーは、特定のロールを付与されない限り、Discordを切断するときキックされます。)デフォルトは False です。

  • unique (bool) -- 新しい招待URLを作成すべきか示します。既定ではTrueです。これが False に指定された場合は、前に作成された招待を返します。

  • reason (Optional[str]) -- 招待を作成する理由。監査ログに表示されます。

  • target_type (Optional[InviteTarget]) --

    ボイスチャンネル招待の対象の種類。

    バージョン 2.0 で追加.

  • target_user (Optional[User]) --

    この招待に表示すべきストリームのユーザー。 target_typeInviteTarget.stream の場合必須です。このユーザーはチャンネル内でストリームしていないといけません。

    バージョン 2.0 で追加.

  • target_application_id: --

    Optional[int]: 招待に紐づいた埋め込みアプリケーションのID。 target_typeInviteTarget.embedded_application の場合必須です。

    バージョン 2.0 で追加.

例外
  • HTTPException -- 招待の作成に失敗した場合。

  • NotFound -- カテゴリや不正なチャンネルが渡された場合。

戻り値

作成された招待。

戻り値の型

Invite

await create_webhook(*, name, avatar=None, reason=None)

This function is a coroutine.

チャンネルに新しいWebhookを作ります。

これを行うには、 manage_webhooks が必要です。

バージョン 2.0 で追加.

パラメータ
  • name (str) -- Webhookの名前。

  • avatar (Optional[bytes]) -- Webhookのデフォルトアバターを表す bytes-like objectedit() と同様に動作します。

  • reason (Optional[str]) -- Webhookを作成する理由。監査ログに表示されます。

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

  • Forbidden -- Webhookを作成する権限を持っていない場合。

戻り値

作成されたwebhook。

戻り値の型

Webhook

property created_at

チャンネルの作成された時間をUTCで返します。

datetime.datetime

await delete(*, reason=None)

This function is a coroutine.

チャンネルを削除します。

これを行うには manage_channels が必要です。

パラメータ

reason (Optional[str]) -- チャンネルを削除する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを削除するのに必要な権限がない場合。

  • NotFound -- チャンネルが見つからないか、すでに削除されていた場合。

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

await delete_messages(messages, *, reason=None)

This function is a coroutine.

メッセージのリストを削除します。複数のメッセージを一括削除する点を除き、これは Message.delete() に似ています。

スペシャルケースとして、もしメッセージ数が0の場合は何もせず、メッセージ数が1の場合は単独のメッセージ削除が行われます。これが2以上の場合一括削除が行われます。

14日以上前のメッセージや100件以上のメッセージを一括削除することはできません。

これを行うには、 manage_messages が必要です。

バージョン 2.0 で追加.

パラメータ
  • messages (Iterable[abc.Snowflake]) -- 一括削除するものを示すメッセージのiterableオブジェクト。

  • reason (Optional[str]) -- メッセージを一括削除する理由。監査ログに表示されます。

例外
  • ClientException -- 削除するメッセージの数が100以上の場合。

  • Forbidden -- メッセージを一括削除するための適切な権限がない場合。

  • NotFound -- 1メッセージのみ削除する時、メッセージが既に削除されていた場合。

  • HTTPException -- メッセージの削除に失敗した場合。

await fetch_message(id, /)

This function is a coroutine.

宛先から、単一の Message を取得します。

パラメータ

id (int) -- 探すメッセージのID。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

要求されたメッセージ。

戻り値の型

Message

get_partial_message(message_id, /)

メッセージIDから PartialMessage を作成します。

これは、IDしかない場合に不必要なAPI呼び出しなくメッセージに関する作業をする時に便利です。

バージョン 2.0 で追加.

パラメータ

message_id (int) -- 部分的なメッセージのID。

戻り値

部分的なメッセージ。

戻り値の型

PartialMessage

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)

チャンネルのメッセージ履歴を取得する asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

サンプル

使い方

counter = 0
async for message in channel.history(limit=200):
    if message.author == client.user:
        counter += 1

リストにフラット化:

messages = [message async for message in channel.history(limit=123)]
# messages is now a list of Message...

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

パラメータ
  • limit (Optional[int]) -- 取得するメッセージの数。 None の場合、チャンネル内のメッセージすべてを取得します。ただし、これには時間がかかります。

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

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

  • around (Optional[Union[Snowflake, datetime.datetime]]) -- 渡された日付、またはメッセージあたりのメッセージを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。この引数を使用するときは、取得できる最大のメッセージ数は101個です。もし制限が偶数の場合は最大でそれに1を加えた分だけ返します。

  • oldest_first (Optional[bool]) -- True の場合、古いものから新しいものの順でメッセージを返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

例外
  • Forbidden -- メッセージ履歴を読む権限が無い場合。

  • HTTPException -- メッセージ履歴の取得に失敗した場合。

列挙

Message -- メッセージデータをパースしたメッセージ。

await invites()

This function is a coroutine.

このチャンネルから作成された全てのアクティブなインスタント招待のリストを返します。

この情報を取得するためには、 manage_channels 権限を持っている必要があります。

例外
  • Forbidden -- 適切な権限を有していない場合。

  • HTTPException -- 情報取得中にエラーが発生した場合。

戻り値

現時点でアクティブな招待のリスト。

戻り値の型

List[Invite]

is_nsfw()

bool: チャンネルに年齢制限があるかどうかをチェックします。

バージョン 2.0 で追加.

property jump_url

クライアントがこのチャンネルにジャンプすることのできるURLを返します。

バージョン 2.0 で追加.

str

property last_message

キャッシュからこのチャンネルに最後に送信されたメッセージを取得します。

このメッセージは有効でなかったり、存在するものでない場合があります。

バージョン 2.0 で追加.

信頼性の高い取得方法

より信頼性のある最後のメッセージの取得方法として、 history()last_message_idfetch_message() の組み合わせがあります。

戻り値

このチャンネルの最後のメッセージ。見つからない場合は None です。

戻り値の型

Optional[Message]

property members

このボイスチャンネル内にいるすべてのメンバーを返します。

List[Member]

property mention

チャンネルにメンションするための文字列。

str

await move(**kwargs)

This function is a coroutine.

チャンネルを他のチャンネルと相対的に移動させるのに役立つインターフェイスです。

正確に位置を移動させる場合は、代わりに edit を使用する必要があります。

これを行うには manage_channels が必要です。

注釈

ボイスチャンネルは常にテキストチャンネルの下にソートされます。これはDiscordの制限です。

バージョン 1.7 で追加.

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

パラメータ
  • beginning (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の先頭に移動させるかどうかを指定します。これは、 end, before, after とは互いに排他的です。

  • end (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の末尾に移動するかどうかを指定します。これは beginning, before, after とは互いに排他的です。

  • before (Snowflake) -- このチャンネルの前にあるべきチャンネル。これと beginningendafter は同時に使用できません。

  • after (Snowflake) -- このチャンネルの後にあるべきチャンネル。これと beginningendbefore は同時に使用できません。

  • offset (int) -- 移動のオフセット。たとえば、 beginning=True の場合にてオフセットが 2 ならば、チャンネルは始めから2つ分の場所に動きます。正の整数を渡すと下に、負の整数を渡すと上に動きます。この数は相対的で beginningendbeforeafter パラメータの後に計算されます。

  • category (Optional[Snowflake]) -- チャンネルの移動先のカテゴリ。 None を渡した場合はチャンネルはカテゴリに属さなくなります。このパラメータはカテゴリチャンネルの場合は無視されます。

  • sync_permissions (bool) -- (カテゴリが指定されている場合に)権限を同期すべきか。

  • reason (str) -- 移動の理由。

例外
  • ValueError -- 位置が無効な場合。

  • TypeError -- 同時に指定できない引数らが同時に指定された場合。

  • Forbidden -- チャンネルを移動する権限がない場合。

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

property overwrites

チャンネルの上書きをすべて返します。

これは、 RoleMember のターゲットをキーとし、 PermissionOverwrite を値とする辞書型として返されます。

バージョン 2.0 で変更: キャッシュ取得に失敗した場合、上書きが型付きの Object になるようになりました。

戻り値

チャンネルの権限の上書き。

戻り値の型

Dict[Union[Role, Member, Object], PermissionOverwrite]

overwrites_for(obj)

メンバーまたはロール固有の上書きされたリストを返します

パラメータ

obj (Union[Role, User, Object]) -- 上書きの対象となるロールやユーザー。

戻り値

そのオブジェクトの権限の上書き。

戻り値の型

PermissionOverwrite

permissions_for(obj, /)

MemberRole の権限を解決します。

これは以下を考慮します:

  • サーバーの所有者

  • サーバーにあるロール

  • チャンネルの上書き

  • メンバーの上書き

  • 自動で処理される権限

  • メンバーのタイムアウト

Role が渡された場合、そのロールを持つ人が持つべき権限を確認します。つまり:

  • デフォルトのロールの権限

  • パラメータとして使用されるロールの権限

  • デフォルトのロールの権限の上書き

  • パラメータとして使用されるロールの権限の上書き

バージョン 2.0 で変更: ロールを渡すことができるようになりました。

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

パラメータ

obj (Union[Member, Role]) -- 権限を解決すべきオブジェクト。これはメンバーかロールです。ロールの場合メンバーの上書きは判断しません。

戻り値

メンバーまたはロールの解決された権限。

戻り値の型

Permissions

property permissions_synced

チャンネルの権限が属するカテゴリと同期されているかどうか。

カテゴリがない場合は False になります。

バージョン 1.3 で追加.

bool

await pins()

This function is a coroutine.

現時点でチャンネルにピン留めされている全てのメッセージを取得します。

注釈

Discord APIの制限により、このメソッドの返した Message オブジェクトには、完全な Message.reactions のデータが含まれていません。

例外
  • Forbidden -- ピン留めされたメッセージの取得に必要な権限がない場合。

  • HTTPException -- ピン留めされたメッセージの取得に失敗した場合。

戻り値

現時点でピン留めされているメッセージ。

戻り値の型

List[Message]

await purge(*, limit=100, check=..., before=None, after=None, around=None, oldest_first=None, bulk=True, reason=None)

This function is a coroutine.

check 関数の要件を満たすメッセージを一括削除します。 check が渡されない場合はすべてのメッセージが削除されます。

メッセージを削除するときに、それが自分のものであったとしても、削除するには manage_messages が必要です。メッセージの履歴を取得するために read_message_history も必要になります。

バージョン 2.0 で追加.

サンプル

Botによるメッセージを削除する

def is_me(m):
    return m.author == client.user

deleted = await channel.purge(limit=100, check=is_me)
await channel.send(f'Deleted {len(deleted)} message(s)')
パラメータ
  • limit (Optional[int]) -- 検索するメッセージ数。これは削除するメッセージ数になるとは必ずしも限りません。

  • check (Callable[[Message], bool]) -- メッセージが削除されるかどうかを確認するために使用される関数。 Message を唯一のパラメータとして受け取る必要があります。

  • before (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での before と同じです。

  • after (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での after と同じです。

  • around (Optional[Union[abc.Snowflake, datetime.datetime]]) -- history() での around と同じです。

  • oldest_first (Optional[bool]) -- history() での oldest_first と同じです。

  • bulk (bool) -- True の場合、一括削除を使用します。これを False に設定すると、 Permissions.manage_messages なしでボット自身のメッセージを一括削除することができます。 True の場合でも、2週間以上前のメッセージは個別に削除されます。

  • reason (Optional[str]) -- メッセージを一括削除する理由。監査ログに表示されます。

例外
  • Forbidden -- 必要なアクションをするための適切な権限がない場合。

  • HTTPException -- メッセージの一括削除に失敗した場合。

戻り値

削除されたメッセージのlist。

戻り値の型

List[Message]

property scheduled_events

このチャンネルのすべてのスケジュールイベントを返します。

バージョン 2.0 で追加.

List[ScheduledEvent]

await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, silent=False)

This function is a coroutine.

指定された内容のメッセージを宛先に送信します。

contentは、 str(content) によって文字列に変換が可能である必要があります。もしcontentに None (デフォルト) を指定するなら、 embed パラメータを設定する必要があります。

単一のファイルをアップロードするには、 file パラメータに File オブジェクトを指定する必要があります。複数のファイルをアップロードするには、 files パラメータに File オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

単一の埋め込みを送信するには、 embed パラメータに Embed オブジェクトを指定する必要があります。複数の埋め込みを送信するには、 embeds パラメータに Embed オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

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

パラメータ
  • content (Optional[str]) -- 送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) --

    送信する埋め込みのリスト。最大10個まで送信できます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • nonce (int) -- メッセージの送信時に使用するナンス値。メッセージが正常に送信された場合、このメッセージには指定されたナンス値が含まれます。

  • delete_after (float) -- 指定したなら、これはメッセージを送信したあと待機し、すぐ削除する秒数となります。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (AllowedMentions) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • reference (Union[Message, MessageReference, PartialMessage]) --

    返信する Message への参照。これは、 to_reference() を使用して作成することができ、また Message を直接渡すこともできます。これが返信元のメッセージの投稿者をメンションすべきかは、 allowed_mentionsreplied_user 属性や、 mention_author パラメータで制御できます。

    バージョン 1.6 で追加.

  • mention_author (Optional[bool]) --

    設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

    バージョン 1.6 で追加.

  • view (discord.ui.View) --

    メッセージに追加するDiscord UI ビュー。

    バージョン 2.0 で追加.

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) --

    送信するスタンプのリスト。最大3個まで送信できます。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、 embedembeds の両方が指定された場合、または referenceMessageMessageReferencePartialMessage でない場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

await set_permissions(target, *, overwrite=see - below, reason=None, **permissions)

This function is a coroutine.

ある対象に対して特定のチャンネルでの権限の上書きを設定します。

target パラメータは当該ギルドに属する MemberRole であるべきです。

overwrite パラメータを渡す場合は、それは None か、 PermissionOverwrite でないといけません。利便性のため、 Permissions の属性を示すキーワード引数を渡すこともできます。これと overwrite パラメータは同時に使用できません。

overwrite パラメータが None の場合は権限の上書きは削除されます。

これを行うには manage_roles が必要です。

注釈

これは、以前の上書きを与えられたもので 置き換えます

サンプル

許可と拒否の設定:

await message.channel.set_permissions(message.author, read_messages=True,
                                                      send_messages=False)

上書きの削除

await channel.set_permissions(member, overwrite=None)

PermissionOverwrite を使用します

overwrite = discord.PermissionOverwrite()
overwrite.send_messages = False
overwrite.read_messages = True
await channel.set_permissions(member, overwrite=overwrite)

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

パラメータ
  • target (Union[Member, Role]) -- 権限を上書きするメンバーかロール。

  • overwrite (Optional[PermissionOverwrite]) -- 対象に対して許可し、または拒否する権限。 None を渡すと上書きを削除できます。

  • **permissions -- 設定すべき権限のキーワード引数リスト。これは overwrite と同時に使用できません。

  • reason (Optional[str]) -- アクションを実行する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルの権限を編集するための権限がない場合。

  • HTTPException -- チャンネルの権限を編集するのに失敗した場合。

  • NotFound -- 編集中のロールやメンバーがギルドに属さない場合。

  • TypeError -- overwrite パラメータが無効か、対象が RoleMember でなかった場合。

  • ValueError -- overwrite パラメータと positions パラメータの両方とも指定されていなかった場合。

typing()

入力インジケーターを宛先に無期限で、または await で呼び出された場合10秒間表示できるようにする非同期コンテキストマネージャーを返します。

使用例:

async with channel.typing():
    # simulate something heavy
    await asyncio.sleep(20)

await channel.send('Done!')

使用例:

await channel.typing()
# Do some computational magic for about 10 seconds
await channel.send('Done!')

バージョン 2.0 で変更: これは with 構文で動作せず、代わりに async with を使用しないといけないように変更されました。

バージョン 2.0 で変更: コンテキストマネージャーを await して入力インジケーターを10秒間送信する機能を追加しました。

property voice_states

このチャンネル内にボイス状態のあるメンバーIDのマッピングを返します。

バージョン 1.3 で追加.

注釈

これは、メンバーキャッシュが存在しない場合に members を置き換えるため意図的に低レベルとなっています。

戻り値

メンバーIDをキーとしボイス状態を値とするマッピング。

戻り値の型

Mapping[int, VoiceState]

await webhooks()

This function is a coroutine.

チャンネル内のWebhookのリストを取得します。

これを行うには、 manage_webhooks が必要です。

バージョン 2.0 で追加.

例外

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

戻り値

チャンネル内のWebhook。

戻り値の型

List[Webhook]

StageInstance

class discord.StageInstance

ギルド内のステージチャンネルのステージインスタンスを表します。

バージョン 2.0 で追加.

x == y

二つのステージインスタンスが等しいかを比較します。

x != y

二つのステージインスタンスが等しくないかを比較します。

hash(x)

ステージインスタンスのハッシュ値を返します。

id

ステージインスタンスのID。

int

guild

ステージインスタンスが開催されているギルド。

Guild

channel_id

ステージインスタンスを開催しているチャンネルの ID。

int

topic

ステージインスタンスのトピック。

str

privacy_level

ステージインスタンスのプライバシーレベル。

PrivacyLevel

discoverable_disabled

ステージインスタンスの発見が無効になっているかどうか。

bool

scheduled_event_id

存在する場合、このステージインスタンスに属するスケジュールイベントのID。

バージョン 2.0 で追加.

Optional[int]

channel

ステージインスタンスを開催しているチャンネル。

Optional[StageChannel]

scheduled_event

ステージインスタンスに属するスケジュールイベント。

Optional[ScheduledEvent]

await edit(*, topic=..., privacy_level=..., reason=None)

This function is a coroutine.

ステージインスタンスを編集します。

これを行うには、 manage_channels が必要です。

パラメータ
  • topic (str) -- ステージインスタンスの新しいトピック。

  • privacy_level (PrivacyLevel) -- ステージインスタンスの新しいプライバシーレベル。

  • reason (str) -- ステージインスタンスを編集する理由。監査ログに表示されます。

例外
  • TypeError -- 引数 privacy_level が適切な型でない場合。

  • Forbidden -- ステージインスタンスを編集する権限がない場合。

  • HTTPException -- ステージインスタンスの編集に失敗した場合。

await delete(*, reason=None)

This function is a coroutine.

ステージインスタンスを削除します。

これを行うには、 manage_channels が必要です。

パラメータ

reason (str) -- ステージインスタンスを削除する理由。監査ログに表示されます。

例外
  • Forbidden -- ステージインスタンスを削除する権限がない場合。

  • HTTPException -- ステージインスタンスの削除に失敗した場合。

CategoryChannel

class discord.CategoryChannel

Discordのチャンネルカテゴリを表します。

チャンネルを論理的な区画にグループ化するのに便利な機能です。

x == y

二つのチャンネルが等しいかを比較します。

x != y

二つのチャンネルが等しいものではないか比較します。

hash(x)

カテゴリのハッシュを返します。

str(x)

カテゴリの名前を返します。

name

カテゴリの名前。

str

guild

カテゴリが属するギルド。

Guild

id

カテゴリチャンネルのID。

int

position

カテゴリリストにおける位置。これは0から始まる番号で、最も上のカテゴリの位置は0です。

int

nsfw

チャンネルに年齢制限がかかっているか。

注釈

チャンネルやその属するギルドに年齢制限があるかを調べるには is_nsfw() を使用してみてください。

bool

property type

チャンネルのDiscordタイプ。

ChannelType

is_nsfw()

bool: カテゴリに年齢制限があるかどうかをチェックします。

await clone(*, name=None, reason=None)

This function is a coroutine.

チャンネルをクローンします。これはそのチャンネルと同じ属性を持つチャンネルを作成します。

これを行うには manage_channels が必要です。

バージョン 1.1 で追加.

パラメータ
  • name (Optional[str]) -- 新しいチャンネルの名前。渡されない場合はこのチャンネルの名前が使用されます。

  • reason (Optional[str]) -- チャンネルを複製する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを作成するのに必要な権限がない場合。

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

戻り値

作成されたチャンネル。

戻り値の型

abc.GuildChannel

await edit(*, reason=None, **options)

This function is a coroutine.

チャンネルを編集します。

これを行うには、 manage_channels が必要です。

バージョン 1.3 で変更: overwrites キーワード引数が追加されました。

バージョン 2.0 で変更: 編集はチャンネルを置き換えず、編集された新しいチャンネルが返されるようになりました。

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

パラメータ
  • name (str) -- 新しいカテゴリの名前。

  • position (int) -- 新しいカテゴリの位置。

  • nsfw (bool) -- カテゴリに年齢制限をかけるかどうか。

  • reason (Optional[str]) -- カテゴリを編集する理由。監査ログに表示されます。

  • overwrites (Mapping) -- ターゲット(ロール又はメンバー)をキーとし適用される PermissionOverwrite を値とする Mapping

例外
  • ValueError -- 位置が0より小さいか、カテゴリの数値より大きい場合。

  • TypeError -- 上書き情報が適切なものでない場合。

  • Forbidden -- カテゴリを編集するのに必要な権限がない場合。

  • HTTPException -- カテゴリの編集に失敗した場合。

戻り値

新しく編集されたカテゴリチャンネル。編集が位置のみだった場合は代わりに None が返されます。

戻り値の型

Optional[CategoryChannel]

await move(**kwargs)

This function is a coroutine.

チャンネルを他のチャンネルと相対的に移動させるのに役立つインターフェイスです。

正確に位置を移動させる場合は、代わりに edit を使用する必要があります。

これを行うには manage_channels が必要です。

注釈

ボイスチャンネルは常にテキストチャンネルの下にソートされます。これはDiscordの制限です。

バージョン 1.7 で追加.

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

パラメータ
  • beginning (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の先頭に移動させるかどうかを指定します。これは、 end, before, after とは互いに排他的です。

  • end (bool) -- チャンネルをチャンネルリスト (または指定された場合はカテゴリ) の末尾に移動するかどうかを指定します。これは beginning, before, after とは互いに排他的です。

  • before (Snowflake) -- このチャンネルの前にあるべきチャンネル。これと beginningendafter は同時に使用できません。

  • after (Snowflake) -- このチャンネルの後にあるべきチャンネル。これと beginningendbefore は同時に使用できません。

  • offset (int) -- 移動のオフセット。たとえば、 beginning=True の場合にてオフセットが 2 ならば、チャンネルは始めから2つ分の場所に動きます。正の整数を渡すと下に、負の整数を渡すと上に動きます。この数は相対的で beginningendbeforeafter パラメータの後に計算されます。

  • category (Optional[Snowflake]) -- チャンネルの移動先のカテゴリ。 None を渡した場合はチャンネルはカテゴリに属さなくなります。このパラメータはカテゴリチャンネルの場合は無視されます。

  • sync_permissions (bool) -- (カテゴリが指定されている場合に)権限を同期すべきか。

  • reason (str) -- 移動の理由。

例外
  • ValueError -- 位置が無効な場合。

  • TypeError -- 同時に指定できない引数らが同時に指定された場合。

  • Forbidden -- チャンネルを移動する権限がない場合。

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

property channels

このカテゴリに属するチャンネルを返します。

これらは公式のDiscord UIによってソートされており、ボイスチャンネルはテキストチャンネルの下に配置されます。

List[abc.GuildChannel]

property text_channels

このカテゴリに属するテキストチャンネルを返します。

List[TextChannel]

property voice_channels

このカテゴリに属するボイスチャンネルを返します。

List[VoiceChannel]

property stage_channels

このカテゴリに属するステージチャンネルを返します。

バージョン 1.7 で追加.

List[StageChannel]

property forums

Returns the forum channels that are under this category.

バージョン 2.4 で追加.

List[ForumChannel]

await create_text_channel(name, **options)

This function is a coroutine.

カテゴリ内に TextChannel を作成するための Guild.create_text_channel() のショートカット。

戻り値

作成されたチャンネル。

戻り値の型

TextChannel

await create_voice_channel(name, **options)

This function is a coroutine.

カテゴリ内に VoiceChannel を作成するための Guild.create_voice_channel() のショートカット。

戻り値

作成されたチャンネル。

戻り値の型

VoiceChannel

await create_stage_channel(name, **options)

This function is a coroutine.

カテゴリ内に StageChannel を作成するための Guild.create_stage_channel() のショートカット。

バージョン 1.7 で追加.

戻り値

作成されたチャンネル。

戻り値の型

StageChannel

await create_forum(name, **options)

This function is a coroutine.

カテゴリ内に ForumChannel を作成するための Guild.create_forum() のショートカット。

バージョン 2.0 で追加.

戻り値

作成されたチャンネル。

戻り値の型

ForumChannel

property category

チャンネルが属するカテゴリ。

カテゴリがない場合は None になります。

Optional[CategoryChannel]

property changed_roles

roles 属性にて指定されたデフォルト値から上書きされたロールのリストを返します。

List[Role]

await create_invite(*, reason=None, max_age=0, max_uses=0, temporary=False, unique=True, target_type=None, target_user=None, target_application_id=None)

This function is a coroutine.

テキストやボイスチャンネルから招待を作成します。

これを行うには、 create_instant_invite が必要です。

パラメータ
  • max_age (int) -- 招待の有効期限の秒単位の長さ。0の場合、招待は期限切れにはなりません。これはデフォルトでは 0 になります。

  • max_uses (int) -- 招待の使用回数の制限。もしこれが0なら、招待を無制限に使用することができます。デフォルトではこれは 0 になります。

  • temporary (bool) -- 一時的なメンバーとして招待するかを示しています。(つまり、招待されたメンバーは、特定のロールを付与されない限り、Discordを切断するときキックされます。)デフォルトは False です。

  • unique (bool) -- 新しい招待URLを作成すべきか示します。既定ではTrueです。これが False に指定された場合は、前に作成された招待を返します。

  • reason (Optional[str]) -- 招待を作成する理由。監査ログに表示されます。

  • target_type (Optional[InviteTarget]) --

    ボイスチャンネル招待の対象の種類。

    バージョン 2.0 で追加.

  • target_user (Optional[User]) --

    この招待に表示すべきストリームのユーザー。 target_typeInviteTarget.stream の場合必須です。このユーザーはチャンネル内でストリームしていないといけません。

    バージョン 2.0 で追加.

  • target_application_id: --

    Optional[int]: 招待に紐づいた埋め込みアプリケーションのID。 target_typeInviteTarget.embedded_application の場合必須です。

    バージョン 2.0 で追加.

例外
  • HTTPException -- 招待の作成に失敗した場合。

  • NotFound -- カテゴリや不正なチャンネルが渡された場合。

戻り値

作成された招待。

戻り値の型

Invite

property created_at

チャンネルの作成された時間をUTCで返します。

datetime.datetime

await delete(*, reason=None)

This function is a coroutine.

チャンネルを削除します。

これを行うには manage_channels が必要です。

パラメータ

reason (Optional[str]) -- チャンネルを削除する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルを削除するのに必要な権限がない場合。

  • NotFound -- チャンネルが見つからないか、すでに削除されていた場合。

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

await invites()

This function is a coroutine.

このチャンネルから作成された全てのアクティブなインスタント招待のリストを返します。

この情報を取得するためには、 manage_channels 権限を持っている必要があります。

例外
  • Forbidden -- 適切な権限を有していない場合。

  • HTTPException -- 情報取得中にエラーが発生した場合。

戻り値

現時点でアクティブな招待のリスト。

戻り値の型

List[Invite]

property jump_url

クライアントがこのチャンネルにジャンプすることのできるURLを返します。

バージョン 2.0 で追加.

str

property mention

チャンネルにメンションするための文字列。

str

property overwrites

チャンネルの上書きをすべて返します。

これは、 RoleMember のターゲットをキーとし、 PermissionOverwrite を値とする辞書型として返されます。

バージョン 2.0 で変更: キャッシュ取得に失敗した場合、上書きが型付きの Object になるようになりました。

戻り値

チャンネルの権限の上書き。

戻り値の型

Dict[Union[Role, Member, Object], PermissionOverwrite]

overwrites_for(obj)

メンバーまたはロール固有の上書きされたリストを返します

パラメータ

obj (Union[Role, User, Object]) -- 上書きの対象となるロールやユーザー。

戻り値

そのオブジェクトの権限の上書き。

戻り値の型

PermissionOverwrite

permissions_for(obj, /)

MemberRole の権限を解決します。

これは以下を考慮します:

  • サーバーの所有者

  • サーバーにあるロール

  • チャンネルの上書き

  • メンバーの上書き

  • 自動で処理される権限

  • メンバーのタイムアウト

Role が渡された場合、そのロールを持つ人が持つべき権限を確認します。つまり:

  • デフォルトのロールの権限

  • パラメータとして使用されるロールの権限

  • デフォルトのロールの権限の上書き

  • パラメータとして使用されるロールの権限の上書き

バージョン 2.0 で変更: ロールを渡すことができるようになりました。

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

パラメータ

obj (Union[Member, Role]) -- 権限を解決すべきオブジェクト。これはメンバーかロールです。ロールの場合メンバーの上書きは判断しません。

戻り値

メンバーまたはロールの解決された権限。

戻り値の型

Permissions

property permissions_synced

チャンネルの権限が属するカテゴリと同期されているかどうか。

カテゴリがない場合は False になります。

バージョン 1.3 で追加.

bool

await set_permissions(target, *, overwrite=see - below, reason=None, **permissions)

This function is a coroutine.

ある対象に対して特定のチャンネルでの権限の上書きを設定します。

target パラメータは当該ギルドに属する MemberRole であるべきです。

overwrite パラメータを渡す場合は、それは None か、 PermissionOverwrite でないといけません。利便性のため、 Permissions の属性を示すキーワード引数を渡すこともできます。これと overwrite パラメータは同時に使用できません。

overwrite パラメータが None の場合は権限の上書きは削除されます。

これを行うには manage_roles が必要です。

注釈

これは、以前の上書きを与えられたもので 置き換えます

サンプル

許可と拒否の設定:

await message.channel.set_permissions(message.author, read_messages=True,
                                                      send_messages=False)

上書きの削除

await channel.set_permissions(member, overwrite=None)

PermissionOverwrite を使用します

overwrite = discord.PermissionOverwrite()
overwrite.send_messages = False
overwrite.read_messages = True
await channel.set_permissions(member, overwrite=overwrite)

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

パラメータ
  • target (Union[Member, Role]) -- 権限を上書きするメンバーかロール。

  • overwrite (Optional[PermissionOverwrite]) -- 対象に対して許可し、または拒否する権限。 None を渡すと上書きを削除できます。

  • **permissions -- 設定すべき権限のキーワード引数リスト。これは overwrite と同時に使用できません。

  • reason (Optional[str]) -- アクションを実行する理由。監査ログに表示されます。

例外
  • Forbidden -- チャンネルの権限を編集するための権限がない場合。

  • HTTPException -- チャンネルの権限を編集するのに失敗した場合。

  • NotFound -- 編集中のロールやメンバーがギルドに属さない場合。

  • TypeError -- overwrite パラメータが無効か、対象が RoleMember でなかった場合。

  • ValueError -- overwrite パラメータと positions パラメータの両方とも指定されていなかった場合。

DMChannel

class discord.DMChannel

Discordのダイレクトメッセージチャンネルを表します。

x == y

二つのチャンネルが等しいかを比較します。

x != y

二つのチャンネルが等しいものではないか比較します。

hash(x)

チャンネルのハッシュ値を返します。

str(x)

このチャンネルの文字列表現を返します。

recipient

ダイレクトメッセージチャンネルに参加しているユーザー。 このチャンネルがゲートウェイ経由で受信された場合は、この情報が利用可能ではない場合があります。

Optional[User]

me

あなた自身を示すユーザー。

ClientUser

id

ダイレクトメッセージチャンネルのID。

int

async with typing()

入力インジケーターを宛先に無期限で、または await で呼び出された場合10秒間表示できるようにする非同期コンテキストマネージャーを返します。

使用例:

async with channel.typing():
    # simulate something heavy
    await asyncio.sleep(20)

await channel.send('Done!')

使用例:

await channel.typing()
# Do some computational magic for about 10 seconds
await channel.send('Done!')

バージョン 2.0 で変更: これは with 構文で動作せず、代わりに async with を使用しないといけないように変更されました。

バージョン 2.0 で変更: コンテキストマネージャーを await して入力インジケーターを10秒間送信する機能を追加しました。

property type

チャンネルのDiscordタイプ。

ChannelType

property guild

DMチャンネルが属するギルド。常に None

これは主にダックタイピング時の互換性の目的で提供されます。

バージョン 2.0 で追加.

Optional[Guild]

property jump_url

クライアントがこのチャンネルにジャンプすることのできるURLを返します。

バージョン 2.0 で追加.

str

property created_at

ダイレクトメッセージチャンネルの作成された時間をUTCで返します。

datetime.datetime

permissions_for(obj=None, /)

User の権限を解決します。

この機能は他のチャンネルタイプとの互換性のためにあります。

実際のダイレクトメッセージには権限の概念は存在しません。

これは以下を除いてテキスト関連の権限を True にしたものです:

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

バージョン 2.1 で変更: スレッド関連の権限が False に設定されるようになりました。

パラメータ

obj (User) -- 権限を確認するユーザー。このパラメータは他の permissions_for メソッドとの互換性のためにあり、無視されます。

戻り値

解決された権限。

戻り値の型

Permissions

get_partial_message(message_id, /)

メッセージIDから PartialMessage を作成します。

これは、IDしかない場合に不必要なAPI呼び出しなくメッセージに関する作業をする時に便利です。

バージョン 1.6 で追加.

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

パラメータ

message_id (int) -- 部分的なメッセージのID。

戻り値

部分的なメッセージ。

戻り値の型

PartialMessage

await fetch_message(id, /)

This function is a coroutine.

宛先から、単一の Message を取得します。

パラメータ

id (int) -- 探すメッセージのID。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

要求されたメッセージ。

戻り値の型

Message

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)

チャンネルのメッセージ履歴を取得する asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

サンプル

使い方

counter = 0
async for message in channel.history(limit=200):
    if message.author == client.user:
        counter += 1

リストにフラット化:

messages = [message async for message in channel.history(limit=123)]
# messages is now a list of Message...

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

パラメータ
  • limit (Optional[int]) -- 取得するメッセージの数。 None の場合、チャンネル内のメッセージすべてを取得します。ただし、これには時間がかかります。

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

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

  • around (Optional[Union[Snowflake, datetime.datetime]]) -- 渡された日付、またはメッセージあたりのメッセージを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。この引数を使用するときは、取得できる最大のメッセージ数は101個です。もし制限が偶数の場合は最大でそれに1を加えた分だけ返します。

  • oldest_first (Optional[bool]) -- True の場合、古いものから新しいものの順でメッセージを返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

例外
  • Forbidden -- メッセージ履歴を読む権限が無い場合。

  • HTTPException -- メッセージ履歴の取得に失敗した場合。

列挙

Message -- メッセージデータをパースしたメッセージ。

await pins()

This function is a coroutine.

現時点でチャンネルにピン留めされている全てのメッセージを取得します。

注釈

Discord APIの制限により、このメソッドの返した Message オブジェクトには、完全な Message.reactions のデータが含まれていません。

例外
  • Forbidden -- ピン留めされたメッセージの取得に必要な権限がない場合。

  • HTTPException -- ピン留めされたメッセージの取得に失敗した場合。

戻り値

現時点でピン留めされているメッセージ。

戻り値の型

List[Message]

await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, silent=False)

This function is a coroutine.

指定された内容のメッセージを宛先に送信します。

contentは、 str(content) によって文字列に変換が可能である必要があります。もしcontentに None (デフォルト) を指定するなら、 embed パラメータを設定する必要があります。

単一のファイルをアップロードするには、 file パラメータに File オブジェクトを指定する必要があります。複数のファイルをアップロードするには、 files パラメータに File オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

単一の埋め込みを送信するには、 embed パラメータに Embed オブジェクトを指定する必要があります。複数の埋め込みを送信するには、 embeds パラメータに Embed オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

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

パラメータ
  • content (Optional[str]) -- 送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) --

    送信する埋め込みのリスト。最大10個まで送信できます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • nonce (int) -- メッセージの送信時に使用するナンス値。メッセージが正常に送信された場合、このメッセージには指定されたナンス値が含まれます。

  • delete_after (float) -- 指定したなら、これはメッセージを送信したあと待機し、すぐ削除する秒数となります。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (AllowedMentions) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • reference (Union[Message, MessageReference, PartialMessage]) --

    返信する Message への参照。これは、 to_reference() を使用して作成することができ、また Message を直接渡すこともできます。これが返信元のメッセージの投稿者をメンションすべきかは、 allowed_mentionsreplied_user 属性や、 mention_author パラメータで制御できます。

    バージョン 1.6 で追加.

  • mention_author (Optional[bool]) --

    設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

    バージョン 1.6 で追加.

  • view (discord.ui.View) --

    メッセージに追加するDiscord UI ビュー。

    バージョン 2.0 で追加.

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) --

    送信するスタンプのリスト。最大3個まで送信できます。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、 embedembeds の両方が指定された場合、または referenceMessageMessageReferencePartialMessage でない場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

GroupChannel

class discord.GroupChannel

Discordのグループチャンネルを表します。

x == y

二つのチャンネルが等しいかを比較します。

x != y

二つのチャンネルが等しいものではないか比較します。

hash(x)

チャンネルのハッシュ値を返します。

str(x)

このチャンネルの文字列表現を返します。

recipients

グループチャンネルに参加しているユーザー。

List[User]

me

あなた自身を示すユーザー。

ClientUser

id

グループチャンネルのID。

int

owner

グループチャンネルを所有するユーザー。

Optional[User]

owner_id

グループチャンネルを所有するユーザーのID。

バージョン 2.0 で追加.

int

name

与えられた場合、グループチャンネルの名前。

Optional[str]

async with typing()

入力インジケーターを宛先に無期限で、または await で呼び出された場合10秒間表示できるようにする非同期コンテキストマネージャーを返します。

使用例:

async with channel.typing():
    # simulate something heavy
    await asyncio.sleep(20)

await channel.send('Done!')

使用例:

await channel.typing()
# Do some computational magic for about 10 seconds
await channel.send('Done!')

バージョン 2.0 で変更: これは with 構文で動作せず、代わりに async with を使用しないといけないように変更されました。

バージョン 2.0 で変更: コンテキストマネージャーを await して入力インジケーターを10秒間送信する機能を追加しました。

property type

チャンネルのDiscordタイプ。

ChannelType

property guild

グループチャンネルが属するギルド。常に None

これは主にダックタイピング時の互換性の目的で提供されます。

バージョン 2.0 で追加.

Optional[Guild]

property icon

利用できる場合、チャンネルのアイコンのアセットを返します。

Optional[Asset]

property created_at

チャンネルの作成された時間をUTCで返します。

datetime.datetime

property jump_url

クライアントがこのチャンネルにジャンプすることのできるURLを返します。

バージョン 2.0 で追加.

str

permissions_for(obj, /)

User の権限を解決します。

この機能は他のチャンネルタイプとの互換性のためにあります。

実際のダイレクトメッセージには権限の概念は存在しません。

これは以下を除いてテキスト関連の権限を True にしたものです:

ユーザーが所有者の場合、kick_members 権限もチェックします。

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

バージョン 2.1 で変更: スレッド関連の権限が False に設定されるようになりました。

パラメータ

obj (Snowflake) -- 権限を確認したいユーザー。

戻り値

ユーザーの解決された権限。

戻り値の型

Permissions

await fetch_message(id, /)

This function is a coroutine.

宛先から、単一の Message を取得します。

パラメータ

id (int) -- 探すメッセージのID。

例外
  • NotFound -- 指定されたメッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

要求されたメッセージ。

戻り値の型

Message

async for ... in history(*, limit=100, before=None, after=None, around=None, oldest_first=None)

チャンネルのメッセージ履歴を取得する asynchronous iterator を返します。

これを行うためには、 read_message_history が必要です。

サンプル

使い方

counter = 0
async for message in channel.history(limit=200):
    if message.author == client.user:
        counter += 1

リストにフラット化:

messages = [message async for message in channel.history(limit=123)]
# messages is now a list of Message...

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

パラメータ
  • limit (Optional[int]) -- 取得するメッセージの数。 None の場合、チャンネル内のメッセージすべてを取得します。ただし、これには時間がかかります。

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

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

  • around (Optional[Union[Snowflake, datetime.datetime]]) -- 渡された日付、またはメッセージあたりのメッセージを取得します。日付を指定する場合、UTC aware datetimeを利用することを推奨します。naive datetimeである場合、これはローカル時間であるとみなされます。この引数を使用するときは、取得できる最大のメッセージ数は101個です。もし制限が偶数の場合は最大でそれに1を加えた分だけ返します。

  • oldest_first (Optional[bool]) -- True の場合、古いものから新しいものの順でメッセージを返します。既定値は after が指定された場合には True で、それ以外の場合は False です。

例外
  • Forbidden -- メッセージ履歴を読む権限が無い場合。

  • HTTPException -- メッセージ履歴の取得に失敗した場合。

列挙

Message -- メッセージデータをパースしたメッセージ。

await leave()

This function is a coroutine.

グループから脱退します。

あなたがグループにいる唯一の者である場合、グループが削除されます。

例外

HTTPException -- グループの脱退に失敗した場合。

await pins()

This function is a coroutine.

現時点でチャンネルにピン留めされている全てのメッセージを取得します。

注釈

Discord APIの制限により、このメソッドの返した Message オブジェクトには、完全な Message.reactions のデータが含まれていません。

例外
  • Forbidden -- ピン留めされたメッセージの取得に必要な権限がない場合。

  • HTTPException -- ピン留めされたメッセージの取得に失敗した場合。

戻り値

現時点でピン留めされているメッセージ。

戻り値の型

List[Message]

await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, silent=False)

This function is a coroutine.

指定された内容のメッセージを宛先に送信します。

contentは、 str(content) によって文字列に変換が可能である必要があります。もしcontentに None (デフォルト) を指定するなら、 embed パラメータを設定する必要があります。

単一のファイルをアップロードするには、 file パラメータに File オブジェクトを指定する必要があります。複数のファイルをアップロードするには、 files パラメータに File オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

単一の埋め込みを送信するには、 embed パラメータに Embed オブジェクトを指定する必要があります。複数の埋め込みを送信するには、 embeds パラメータに Embed オブジェクトの list を指定する必要があります。なお、 両方のパラメータを指定した場合には例外が発生します

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

パラメータ
  • content (Optional[str]) -- 送信するメッセージの内容。

  • tts (bool) -- メッセージが音声合成で送信されるべきかどうかを示します。

  • embed (Embed) -- 内容に埋め込む、typeが rich な埋め込み。

  • embeds (List[Embed]) --

    送信する埋め込みのリスト。最大10個まで送信できます。

    バージョン 2.0 で追加.

  • file (File) -- アップロードするファイル。

  • files (List[File]) -- アップロードするファイルのリスト。ファイル数は最大で10個まででなくてはいけません。

  • nonce (int) -- メッセージの送信時に使用するナンス値。メッセージが正常に送信された場合、このメッセージには指定されたナンス値が含まれます。

  • delete_after (float) -- 指定したなら、これはメッセージを送信したあと待機し、すぐ削除する秒数となります。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (AllowedMentions) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • reference (Union[Message, MessageReference, PartialMessage]) --

    返信する Message への参照。これは、 to_reference() を使用して作成することができ、また Message を直接渡すこともできます。これが返信元のメッセージの投稿者をメンションすべきかは、 allowed_mentionsreplied_user 属性や、 mention_author パラメータで制御できます。

    バージョン 1.6 で追加.

  • mention_author (Optional[bool]) --

    設定された場合、 allowed_mentionsreplied_user 属性を上書きします。

    バージョン 1.6 で追加.

  • view (discord.ui.View) --

    メッセージに追加するDiscord UI ビュー。

    バージョン 2.0 で追加.

  • stickers (Sequence[Union[GuildSticker, StickerItem]]) --

    送信するスタンプのリスト。最大3個まで送信できます。

    バージョン 2.0 で追加.

  • suppress_embeds (bool) --

    メッセージの埋め込みを抑制するかどうか。これが True に設定されている場合、埋め込みなしでメッセージを送信します。

    バージョン 2.0 で追加.

  • silent (bool) --

    メッセージのプッシュ通知とデスクトップ通知を抑制するかどうか。 抑制した場合、UIのメンションカウンターを増やしますが、実際に通知を送信することはありません。

    バージョン 2.2 で追加.

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files または embeds リストの大きさが適切でない場合。

  • TypeError -- filefiles の両方が指定された場合、 embedembeds の両方が指定された場合、または referenceMessageMessageReferencePartialMessage でない場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

PartialInviteGuild

class discord.PartialInviteGuild

「部分的な」招待ギルドを表します。

このモデルは、ユーザーが Invite にて解決されたギルドに属さない場合に与えられます。

x == y

2つの部分的なギルドが等しいものか比較します。

x != y

2つの部分的なギルドが等しいものではないか比較します。

hash(x)

部分的なギルドのハッシュ値を返します。

str(x)

部分的なギルドの名前を返します。

name

部分的なギルドの名前。

str

id

部分的なギルドのID。

int

verification_level

部分的なギルドの認証レベル。

VerificationLevel

features

ギルドが持っている機能のリスト。詳細は Guild.features を参照してください。

List[str]

description

部分的なギルドの説明。

Optional[str]

nsfw_level

部分的なギルドの年齢制限レベル。

バージョン 2.0 で追加.

NSFWLevel

vanity_url_code

利用可能な場合は、部分的なギルドのバニティURLコード。

バージョン 2.0 で追加.

Optional[str]

premium_subscription_count

部分的なギルドの現在の「ブースト」数。

バージョン 2.0 で追加.

int

property created_at

ギルドの作成時刻をUTCで返します。

datetime.datetime

property vanity_url

存在する場合、部分的なギルドのDiscord バニティURL。

バージョン 2.0 で追加.

Optional[str]

property icon

利用できる場合、ギルドのアイコンのアセットを返します。

Optional[Asset]

property banner

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

Optional[Asset]

property splash

利用できる場合、ギルドの招待の背景のアセットを返します。

Optional[Asset]

PartialInviteChannel

class discord.PartialInviteChannel

"部分的な"招待チャンネルを表します。

このモデルは、ユーザーが Invite にて解決されたギルドに属さない場合に与えられます。

x == y

2つの部分的なチャンネルが等しいものか比較します。

x != y

2つの部分的なチャンネルが等しいものではないか比較します。

hash(x)

部分的なチャンネルのハッシュ値を返します。

str(x)

部分的なチャンネルの名前を返します。

name

部分的なチャンネルの名前。

str

id

部分的なチャンネルのID。

int

type

部分的なチャンネルの種類。

ChannelType

property mention

チャンネルにメンションするための文字列。

str

property created_at

チャンネルの作成された時間をUTCで返します。

datetime.datetime

Invite

class discord.Invite

Discord の Guild または abc.GuildChannel への招待を表します。

このオブジェクトの作成方法によって、属性の一部が None の値になることがあります。

x == y

二つの招待が等しいかを比較します。

x != y

二つの招待が等しくないかを比較します。

hash(x)

招待のハッシュ値を返します。

str(x)

招待URLを返します。

次の表は、属性を取得できるメソッドを示しています。

上の表にない場合は、すべての方法で利用可能です。

max_age

招待の有効期限を秒単位で指定します。値が 0 の場合は、有効期限がないことを示します。

Optional[int]

code

招待に使用されるURLフラグメント。

str

guild

招待先のギルド。グループのダイレクトメッセージからの場合は None にできます。

Optional[Union[Guild, Object, PartialInviteGuild]]

revoked

招待が取り消されたかどうかを示します。

Optional[bool]

created_at

招待が作成された時刻を示す UTC datetimeオブジェクトです。

Optional[datetime.datetime]

temporary

一時的なメンバーとして招待することを示します。 True の場合、この招待を通じて参加したメンバーは切断時にキックされます。

Optional[bool]

uses

招待が使用された回数。

Optional[int]

max_uses

招待できる回数を指定します。 0 の値は無制限の使用を示します。

Optional[int]

inviter

招待を作成したユーザー。

Optional[User]

approximate_member_count

ギルド内のメンバーのおおよその数。

Optional[int]

approximate_presence_count

ギルドで現在アクティブなメンバーのおおよその数です。これには退席中、取り込み中、オンライン、非表示のメンバーが含まれます。オフラインのメンバーは除外されます。

Optional[int]

expires_at

招待の有効期限。 with_expiration が有効になっている Client.fetch_invite() 経由で受け取ったときにこれが None の場合は、招待は期限切れになりません。

バージョン 2.0 で追加.

Optional[datetime.datetime]

channel

招待先のチャンネル。

Optional[Union[abc.GuildChannel, Object, PartialInviteChannel]]

target_type

ボイスチャンネル招待の対象の種類。

バージョン 2.0 で追加.

InviteTarget

target_user

存在する場合、この招待に表示すべきストリームのユーザー。

バージョン 2.0 で追加.

Optional[User]

target_application

存在する場合、この招待の対象の埋め込みアプリケーション。

バージョン 2.0 で追加.

Optional[PartialAppInfo]

scheduled_event

存在する場合、この招待に関連付けられたスケジュールイベント。

バージョン 2.0 で追加.

Optional[ScheduledEvent]

scheduled_event_id

存在する場合、この招待に関連付けられたスケジュールイベントのID。

バージョン 2.0 で追加.

Optional[int]

property id

招待のコード部分を返します。

str

property url

招待URLを取得するプロパティ。

str

set_scheduled_event(scheduled_event, /)

この招待のスケジュールイベントを設定します。

バージョン 2.0 で追加.

パラメータ

scheduled_event (Snowflake) -- スケジュールイベントのID。

戻り値

スケジュールイベント付きの新しい招待。

戻り値の型

Invite

await delete(*, reason=None)

This function is a coroutine.

インスタント招待を取り消します。

これを行うには、 manage_channels が必要です。

パラメータ

reason (Optional[str]) -- 招待を削除する理由。監査ログに表示されます。

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

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

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

Template

class discord.Template

Discordのテンプレートを表します。

バージョン 1.4 で追加.

code

テンプレートコード。

str

uses

テンプレートが使用された回数。

int

name

テンプレートの名前。

str

description

テンプレートの説明。

str

creator

テンプレートの作成者。

User

created_at

テンプレートが作成された日時を表す UTC aware datetime。

datetime.datetime

updated_at

テンプレートが最後に更新された日時を表す UTC aware datetime。これは公式のDiscordクライアントでは「最終同期日時」と呼ばれています。

datetime.datetime

source_guild

このテンプレートが現在保有しているデータを表すギルドのスナップショット。

Guild

is_dirty

テンプレートに同期されていない変更があるかどうか。

バージョン 2.0 で追加.

Optional[bool]

await create_guild(name, icon=...)

This function is a coroutine.

テンプレートを使用して Guild を作成します。

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

バージョン 2.0 で変更: region キーワード引数が削除されました。

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

パラメータ
例外
  • HTTPException -- ギルドの作成に失敗した場合。

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

戻り値

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

戻り値の型

Guild

await sync()

This function is a coroutine.

テンプレートをギルドの現在の状態に同期します。

これを行うためには、元のギルドにて manage_guild が必要です。

バージョン 1.7 で追加.

バージョン 2.0 で変更: 編集はテンプレートを置き換えず、編集された新しいテンプレートが返されるようになりました。

例外
  • HTTPException -- テンプレートの編集に失敗した場合。

  • Forbidden -- テンプレートを編集するのに必要な権限がない場合。

  • NotFound -- テンプレートが存在しない場合。

戻り値

編集された新しいテンプレート。

戻り値の型

Template

await edit(*, name=..., description=...)

This function is a coroutine.

テンプレートのメタデータを編集します。

これを行うためには、元のギルドにて manage_guild が必要です。

バージョン 1.7 で追加.

バージョン 2.0 で変更: 編集はテンプレートを置き換えず、編集された新しいテンプレートが返されるようになりました。

パラメータ
  • name (str) -- テンプレートの新しい名前。

  • description (Optional[str]) -- テンプレートの新しい説明。

例外
  • HTTPException -- テンプレートの編集に失敗した場合。

  • Forbidden -- テンプレートを編集するのに必要な権限がない場合。

  • NotFound -- テンプレートが存在しない場合。

戻り値

編集された新しいテンプレート。

戻り値の型

Template

await delete()

This function is a coroutine.

テンプレートを削除します。

これを行うためには、元のギルドにて manage_guild が必要です。

バージョン 1.7 で追加.

例外
  • HTTPException -- テンプレートの編集に失敗した場合。

  • Forbidden -- テンプレートを編集するのに必要な権限がない場合。

  • NotFound -- テンプレートが存在しない場合。

property url

テンプレートのURL。

バージョン 2.0 で追加.

str

WelcomeScreen

Methods
class discord.WelcomeScreen

Guild ようこそ画面を表します。

バージョン 2.0 で追加.

description

ようこそ画面に表示される説明。

str

welcome_channels

ようこそ画面に表示されるチャンネル。

List[WelcomeChannel]

property enabled

ようこそ画面を表示すべきか。

これは Guild.featuresWELCOME_SCREEN_ENABLED があるかどうかを確認するのと同じです。

bool

await edit(*, description=..., welcome_channels=..., enabled=..., reason=None)

This function is a coroutine.

ようこそ画面を編集します。

ようこそ画面のチャンネルは、 Guild.premium_tier がレベル 2 以上の場合のみカスタム絵文字を使用できます。

これを行うためには、ギルドにて manage_guild が必要です。

使い方:

rules_channel = guild.get_channel(12345678)
announcements_channel = guild.get_channel(87654321)

custom_emoji = utils.get(guild.emojis, name='loudspeaker')

await welcome_screen.edit(
    description='This is a very cool community server!',
    welcome_channels=[
        WelcomeChannel(channel=rules_channel, description='Read the rules!', emoji='👨‍🏫'),
        WelcomeChannel(channel=announcements_channel, description='Watch out for announcements!', emoji=custom_emoji),
    ]
)
パラメータ
  • description (Optional[str]) -- ようこそ画面の説明。

  • welcome_channels (Optional[List[WelcomeChannel]]) -- ようこそ画面のチャンネルを、順番に並べたもの。

  • enabled (Optional[bool]) -- ようこそ画面を表示すべきか。

  • reason (Optional[str]) -- ようこそ画面を編集する理由。監査ログに表示されます。

例外
  • HTTPException -- ようこそ画面の編集に失敗した場合。

  • Forbidden -- ようこそ画面を編集するのに必要な権限がない場合。

  • NotFound -- ようこそ画面が存在しない場合。

WelcomeChannel

class discord.WelcomeChannel

WelcomeScreen のチャンネルを表します。

バージョン 2.0 で追加.

channel

参照されているギルドチャンネル。

abc.Snowflake

description

表示されるチャンネルの説明。

str

emoji

チャンネルの説明の横に使用される絵文字。

Optional[PartialEmoji, Emoji, str]

WidgetChannel

class discord.WidgetChannel

"部分的な" ウィジェットチャンネルを表します。

x == y

2つの部分的なチャンネルが等しいものか比較します。

x != y

2つの部分的なチャンネルが等しいものではないか比較します。

hash(x)

部分的なチャンネルのハッシュ値を返します。

str(x)

部分的なチャンネルの名前を返します。

id

チャンネルのID。

int

name

チャンネルの名前。

str

position

チャンネルの位置。

int

property mention

チャンネルにメンションするための文字列。

str

property created_at

チャンネルの作成された時間をUTCで返します。

datetime.datetime

WidgetMember

class discord.WidgetMember

ウィジェットのギルドの "部分的な" メンバーを表します。

x == y

2つのウィジェットメンバーが等しいものか比較します。

x != y

2つのウィジェットメンバーが等しいものではないか比較します。

hash(x)

ウィジェットメンバーのハッシュ値を返します。

str(x)

ウィジェットメンバーのハンドル(例えば namename#discriminator など)を返します。

id

メンバーのID。

int

name

メンバーのユーザー名。

str

discriminator

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

str

global_name

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

バージョン 2.3 で追加.

Optional[str]

bot

メンバーがボットであるかどうか。

bool

status

メンバーのステータス。

Status

nick

メンバーのギルド内専用のニックネーム。グローバルの表示名よりも優先されます。

Optional[str]

avatar

メンバーのアバターのハッシュ値。

Optional[str]

activity

メンバーのアクティビティ。

Optional[Union[BaseActivity, Spotify]]

deafened

メンバーがスピーカーミュートされているかどうか。

Optional[bool]

muted

メンバーがミュートされているかどうか。

Optional[bool]

suppress

メンバーが現在抑制されているのかどうか。

Optional[bool]

connected_channel

メンバーが接続しているチャンネル。

Optional[WidgetChannel]

property display_name

メンバーの表示名を返します。

str

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_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 mention

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

str

mentioned_in(message)

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

パラメータ

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

戻り値

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

戻り値の型

bool

property public_flags

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

PublicUserFlags

Widget

class discord.Widget

Guild ウィジェットを表します。

x == y

2つのウィジェットが等しいものか比較します。

x != y

2つのウィジェットが等しいものではないか比較します。

str(x)

ウィジェットの JSON URL を返します。

id

ギルドのID。

int

name

ギルドの名前。

str

channels

ギルド内のアクセスできるボイスチャンネル。

List[WidgetChannel]

members

ギルド内のオンラインのメンバー。オフラインのメンバーはウィジェットには表示されません。

注釈

Discordの制限により、このデータが利用可能な場合、ユーザーのIDとタグは「仮名化」され、誤った情報になります。同様に、取得できるメンバー数にも制限があります。

List[WidgetMember]

presence_count

ギルド内のオンラインのメンバーのおおよその数。オフラインのメンバーはこの数には含まれません。

バージョン 2.0 で追加.

int

property created_at

メンバーの作成された時間をUTCで返します。

datetime.datetime

property json_url

ウィジェットのJSON URL

str

property invite_url

利用可能な場合はギルドの招待URKです。

Optional[str]

await fetch_invite(*, with_counts=True)

This function is a coroutine.

ウィジェットの招待URLから Invite を取得します。これは Client.fetch_invite() と同じです。招待コードは抽象化されます。

パラメータ

with_counts (bool) -- 招待にカウント情報を含めるかどうか。これにより Invite.approximate_member_countInvite.approximate_presence_count に取得した値が代入されます。

戻り値

利用可能な場合は、ウィジェットの招待URLからの招待。

戻り値の型

Optional[Invite]

StickerPack

class discord.StickerPack

スタンプパックを表します。

バージョン 2.0 で追加.

str(x)

スタンプパックの名前を返します。

x == y

スタンプパックが他のスタンプパックと等しいか確認します。

x != y

スタンプパックが他のスタンプパックと等しくないか確認します。

name

スタンプパックの名前。

str

description

スタンプパックの説明。

str

id

スタンプパックのID。

int

stickers

このスタンプパックのスタンプ。

List[StandardSticker]

sku_id

スタンプパックの SKU ID。

int

cover_sticker_id

スタンプパックのカバーに使用されるスタンプのID。

Optional[int]

cover_sticker

スタンプパックのカバーに使用されるスタンプ。

Optional[StandardSticker]

property banner

スタンプパックのバナーアセット。

Asset

StickerItem

Attributes
Methods
class discord.StickerItem

スタンプアイテムを表します。

バージョン 2.0 で追加.

str(x)

スタンプアイテムの名前を返します。

x == y

スタンプアイテムが他のスタンプアイテムと等しいか確認します。

x != y

スタンプアイテムが他のスタンプアイテムと等しくないことを確認します。

name

スタンプの名前。

str

id

スタンプのID。

int

format

スタンプの画像のフォーマット。

StickerFormatType

url

スタンプの画像の URL。

str

await fetch()

This function is a coroutine.

スタンプアイテムの完全なスタンプデータを取得するのを試みます。

例外

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

戻り値

取得したスタンプ。

戻り値の型

Union[StandardSticker, GuildSticker]

Sticker

class discord.Sticker

スタンプを表します。

バージョン 1.6 で追加.

str(x)

スタンプの名前を返します。

x == y

スタンプが他のスタンプと等しいか確認します。

x != y

スタンプが他のスタンプと等しくないか確認します。

name

スタンプの名前。

str

id

スタンプのID。

int

description

スタンプの説明。

str

pack_id

スタンプパックのID。

int

format

スタンプの画像のフォーマット。

StickerFormatType

url

スタンプの画像の URL。

str

property created_at

スタンプの作成された時間をUTCで返します。

datetime.datetime

StandardSticker

Methods
class discord.StandardSticker

標準のスタンプパックに含まれるスタンプを表します。

バージョン 2.0 で追加.

str(x)

スタンプの名前を返します。

x == y

スタンプが他のスタンプと等しいか確認します。

x != y

スタンプが他のスタンプと等しくないか確認します。

name

スタンプの名前。

str

id

スタンプのID。

int

description

スタンプの説明。

str

pack_id

スタンプパックのID。

int

format

スタンプの画像のフォーマット。

StickerFormatType

tags

スタンプのタグのリスト。

List[str]

sort_value

パックのスタンプの並べ替え順序。

int

await pack()

This function is a coroutine.

このスタンプが属するスタンプパックを取得します。

例外
  • InvalidData -- 対応するスタンプパックが見つからない場合。

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

戻り値

取得したスタンプパック。

戻り値の型

StickerPack

GuildSticker

class discord.GuildSticker

ギルドに属するスタンプを表します。

バージョン 2.0 で追加.

str(x)

スタンプの名前を返します。

x == y

スタンプが他のスタンプと等しいか確認します。

x != y

スタンプが他のスタンプと等しくないか確認します。

name

スタンプの名前。

str

id

スタンプのID。

int

description

スタンプの説明。

str

format

スタンプの画像のフォーマット。

StickerFormatType

available

スタンプを使用できるかどうか。

bool

guild_id

このスタンプが属するギルドのID。

int

user

スタンプを作成したユーザー。これは Guild.fetch_sticker() 経由で、かつ manage_emojis_and_stickers を持つユーザーによってのみ取得できます。

Optional[User]

emoji

スタンプを表現するユニコード絵文字の名前。

str

guild

このスタイルが属するギルド。ボットがギルドにいない場合は None になります。

バージョン 2.0 で追加.

Optional[Guild]

await edit(*, name=..., description=..., emoji=..., reason=None)

This function is a coroutine.

ギルドの GuildSticker を編集します。

パラメータ
  • name (str) -- スタンプの新しい名前。2文字以上でなければなりません。

  • description (Optional[str]) -- スタンプの新しい説明。None にできます。

  • emoji (str) -- スタンプの表現を示すユニコード絵文字の名前。

  • reason (str) -- スタンプを編集する理由。監査ログに表示されます。

例外
  • Forbidden -- スタンプを編集する権限がない場合。

  • HTTPException -- スタンプの編集中にエラーが発生した場合。

戻り値

新しく変更されたスタンプ。

戻り値の型

GuildSticker

await delete(*, reason=None)

This function is a coroutine.

ギルドのカスタム Sticker を削除します。

これを行うには、 manage_emojis_and_stickers が必要です。

パラメータ

reason (Optional[str]) -- スタンプを削除する理由。監査ログに表示されます。

例外
  • Forbidden -- スタンプを削除する権限がない場合。

  • HTTPException -- スタンプの削除中にエラーが発生した場合。

ShardInfo

Attributes
Methods
class discord.ShardInfo

特定のシャードの情報と制御を与えるクラス。

このオブジェクトは AutoShardedClient.get_shard()AutoShardedClient.shards から取得できます。

バージョン 1.4 で追加.

id

このシャードのシャードID。

int

shard_count

このクラスターのシャード数。これが None の場合、ボットはまだ開始されていません。

Optional[int]

is_closed()

bool: シャード接続が現在閉じているかどうか。

await disconnect()

This function is a coroutine.

シャードを切断します。これが呼び出されると、シャードの接続は以降開かれません。

シャードがすでに切断されている場合、これは何もしません。

await reconnect()

This function is a coroutine.

シャードを切断した後、再接続します。

await connect()

This function is a coroutine.

シャードを接続します。もしすでに接続されている場合、これは何もしません。

property latency

このシャードのHEARTBEATとHEARTBEAT_ACK間の待ち時間を秒単位で測定します。

float

is_ws_ratelimited()

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

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

バージョン 1.6 で追加.

SKU

class discord.SKU

Represents a premium offering as a stock-keeping unit (SKU).

バージョン 2.4 で追加.

id

The SKU's ID.

int

type

The type of the SKU.

SKUType

application_id

The ID of the application that the SKU belongs to.

int

name

The consumer-facing name of the premium offering.

str

slug

A system-generated URL slug based on the SKU name.

str

property flags

Returns the flags of the SKU.

SKUFlags

property created_at

Returns the sku's creation time in UTC.

datetime.datetime

Entitlement

class discord.Entitlement

Represents an entitlement from user or guild which has been granted access to a premium offering.

バージョン 2.4 で追加.

id

The entitlement's ID.

int

sku_id

The ID of the SKU that the entitlement belongs to.

int

application_id

The ID of the application that the entitlement belongs to.

int

user_id

The ID of the user that is granted access to the entitlement.

Optional[int]

type

The type of the entitlement.

EntitlementType

deleted

Whether the entitlement has been deleted.

bool

starts_at

A UTC start date which the entitlement is valid. Not present when using test entitlements.

Optional[datetime.datetime]

ends_at

A UTC date which entitlement is no longer valid. Not present when using test entitlements.

Optional[datetime.datetime]

guild_id

The ID of the guild that is granted access to the entitlement

Optional[int]

property user

The user that is granted access to the entitlement.

Optional[User]

property guild

The guild that is granted access to the entitlement.

Optional[Guild]

property created_at

Returns the entitlement's creation time in UTC.

datetime.datetime

is_expired()

bool: Returns True if the entitlement is expired. Will be always False for test entitlements.

await delete()

This function is a coroutine.

Deletes the entitlement.

例外

RawMessageDeleteEvent

class discord.RawMessageDeleteEvent

on_raw_message_delete() イベントのペイロードを表します。

channel_id

削除が行われたチャンネルのID。

int

guild_id

該当する場合、削除が行われたギルドのID。

Optional[int]

message_id

削除されたメッセージ ID。

int

cached_message

内部のメッセージキャッシュに見つかった場合、そのキャッシュされたメッセージ。

Optional[Message]

RawBulkMessageDeleteEvent

class discord.RawBulkMessageDeleteEvent

on_raw_bulk_message_delete() イベントのペイロードを表します。

message_ids

削除されたメッセージ ID の set

Set[int]

channel_id

メッセージが削除されたチャンネルのID。

int

guild_id

該当する場合、削除が行われたギルドのID。

Optional[int]

cached_messages

内部のメッセージキャッシュに見つかった場合、そのキャッシュされたメッセージ。

List[Message]

RawMessageUpdateEvent

class discord.RawMessageUpdateEvent

on_raw_message_edit() イベントのペイロードを表します。

message_id

更新されたメッセージ ID。

int

channel_id

更新が行われたチャンネルのID。

バージョン 1.3 で追加.

int

guild_id

該当する場合、更新が行われたギルドのID。

バージョン 1.7 で追加.

Optional[int]

data

ゲートウェイ によって与えられた生のデータ。

dict

cached_message

内部メッセージキャッシュで見つかった場合、そのキャッシュされたメッセージ。 RawMessageUpdateEvent.data のデータによって変更される前のメッセージを表します。

Optional[Message]

RawReactionActionEvent

class discord.RawReactionActionEvent

on_raw_reaction_add() または on_raw_reaction_remove() イベントのペイロードを表します。

message_id

リアクションが追加され、または除去されたメッセージのID。

int

user_id

リアクションを追加したユーザーのID、またはそのリアクションが除去されたユーザーのID。

int

channel_id

リアクションが追加または除去されたチャンネルのID 。

int

guild_id

該当する場合、リアクションの追加または除去が行われたギルドのID。

Optional[int]

emoji

使用されたカスタムまたはユニコード絵文字。

PartialEmoji

member

リアクションを追加したメンバー。 event_typeREACTION_ADD でリアクションがギルド内にある場合にのみ利用できます。

バージョン 1.3 で追加.

Optional[Member]

message_author_id

The author ID of the message being reacted to. Only available if event_type is REACTION_ADD.

バージョン 2.4 で追加.

Optional[int]

event_type

このアクションの原因であるイベントタイプ。リアクションの追加は REACTION_ADD 、リアクションの除去は REACTION_REMOVE です。

バージョン 1.3 で追加.

str

burst

Whether the reaction was a burst reaction, also known as a "super reaction".

バージョン 2.4 で追加.

bool

burst_colours

A list of colours used for burst reaction animation. Only available if burst is True and if event_type is REACTION_ADD.

バージョン 2.0 で追加.

List[Colour]

property burst_colors

An alias of burst_colours.

バージョン 2.4 で追加.

RawReactionClearEvent

class discord.RawReactionClearEvent

on_raw_reaction_clear() イベントのペイロードを表します。

message_id

リアクションが一括除去されたメッセージ。

int

channel_id

リアクションの一括除去が行われたチャンネルのID。

int

guild_id

リアクションの一括除去が行われたギルドのID。

Optional[int]

RawReactionClearEmojiEvent

class discord.RawReactionClearEmojiEvent

on_raw_reaction_clear_emoji() イベントのペイロードを表します。

バージョン 1.3 で追加.

message_id

リアクションが一括除去されたメッセージ。

int

channel_id

リアクションの一括除去が行われたチャンネルのID。

int

guild_id

リアクションの一括除去が行われたギルドのID。

Optional[int]

emoji

除去されたカスタムまたはユニコード絵文字。

PartialEmoji

RawIntegrationDeleteEvent

class discord.RawIntegrationDeleteEvent

on_raw_integration_delete() イベントのペイロードを表します。

バージョン 2.0 で追加.

integration_id

削除された連携サービスのID。

int

application_id

削除された連携サービスのボットやOAuth2 アプリケーションのID。

Optional[int]

guild_id

連携サービスが削除されたギルドのID。

int

RawThreadUpdateEvent

class discord.RawThreadUpdateEvent

on_raw_thread_update() イベントのペイロードを表します。

バージョン 2.0 で追加.

thread_id

更新されたスレッドのID。

int

thread_type

更新されたスレッドのチャンネルタイプ。

discord.ChannelType

guild_id

スレッドが属するギルドのID。

int

parent_id

スレッドが属するチャンネルの ID。

int

data

ゲートウェイ によって与えられた生のデータ。

dict

thread

スレッドが内部キャッシュで見つかった場合、そのスレッド。

Optional[discord.Thread]

RawThreadMembersUpdate

class discord.RawThreadMembersUpdate

on_raw_thread_member_remove() イベントのペイロードを表します。

バージョン 2.0 で追加.

thread_id

更新されたスレッドのID。

int

guild_id

スレッドが属するギルドのID。

int

member_count

スレッドのおおよそのメンバー数。この値は50の上限があります。

int

data

ゲートウェイ によって与えられた生のデータ。

dict

RawThreadDeleteEvent

class discord.RawThreadDeleteEvent

on_raw_thread_delete() イベントのペイロードを表します。

バージョン 2.0 で追加.

thread_id

削除されたスレッドのID。

int

thread_type

削除されたスレッドのチャンネルタイプ。

discord.ChannelType

guild_id

スレッドが削除されたギルドのID。

int

parent_id

スレッドが属したチャンネルの ID。

int

thread

スレッドが内部キャッシュで見つかった場合、そのスレッド。

Optional[discord.Thread]

RawTypingEvent

class discord.RawTypingEvent

on_raw_typing() イベントのペイロードを表します。

バージョン 2.0 で追加.

channel_id

ユーザーが入力し始めたチャンネルのID。

int

user_id

入力を始めたユーザーのID。

int

user

内部キャッシュで見つかった場合、入力し始めたユーザー。

Optional[Union[discord.User, discord.Member]]

timestamp

UTCのaware datetimeでの、タイピングの開始時刻。

datetime.datetime

guild_id

該当する場合、ユーザーが入力し始めたギルドのID。

Optional[int]

RawMemberRemoveEvent

Attributes
class discord.RawMemberRemoveEvent

on_raw_member_remove() イベントのペイロードを表します。

バージョン 2.0 で追加.

user

ギルドを脱退したユーザー。

Union[discord.User, discord.Member]

guild_id

ユーザーが脱退したギルドのID。

int

RawAppCommandPermissionsUpdateEvent

class discord.RawAppCommandPermissionsUpdateEvent

on_raw_app_command_permissions_update() イベントのペイロードを表します。

バージョン 2.0 で追加.

target_id

権限が更新されたコマンドIDまたはアプリケーションID。これがコマンドIDではなくアプリケーションIDの場合、権限は明示的に上書きされていないすべてのコマンドに適用されます。

int

application_id

このコマンドが属するアプリケーションのID。

int

guild

権限が更新されたギルド。

Guild

permissions

アプリケーションコマンドの新しい権限のリスト。

List[AppCommandPermissions]

PartialWebhookGuild

Attributes
class discord.PartialWebhookGuild

Webhook用の部分的なギルドを表します。

これは通常、チャンネルをフォローするWebhookから与えられます。

バージョン 2.0 で追加.

id

部分的なギルドのID。

int

name

部分的なギルドの名前。

str

property icon

利用できる場合、ギルドのアイコンのアセットを返します。

Optional[Asset]

PartialWebhookChannel

Attributes
class discord.PartialWebhookChannel

Webhook用の部分的なチャンネルを表します。

これは通常、チャンネルをフォローするWebhookから与えられます。

バージョン 2.0 で追加.

id

部分的なチャンネルのID。

int

name

部分的なチャンネルの名前。

str

データクラス

一部のクラスはデータコンテナとして用いられます。ここではそのクラスを一覧表にしています。

models とは異なり、属性を持つものであっても、自分で作成することが許されています。

ほぼすべてのクラスに __slots__ が定義されています。つまり、データクラスに動的に変数を追加することは不可能です。

このルールの唯一の例外は Object で、動的な属性を念頭に置いて作成されます。

Object

Attributes
class discord.Object(id, *, type=...)

一般的なDiscordオブジェクトを表します。

このクラスの目的は、IDだけを渡したい場合に、ミニチュアバージョンのデータクラスを作成できるようにすることです。 IDを持つ特定のデータクラスを受け取るほとんどの関数も、このクラスを代わりに受け取ることができます。 この場合であっても、(もしあるとすれば) すべてのオブジェクトがこのクラスから継承されるわけではないことに注意してください。

また、WebSocketイベントを 奇妙な順序 で受け取る場合があり、この場合には実際のデータクラスではなくこのクラスを受け取ります。これは非常にまれです。

x == y

二つのオブジェクトが等しいか比較します。

x != y

二つのオブジェクトが等しいものでないか比較します。

hash(x)

オブジェクトのハッシュを返します。

id

オブジェクトのID。

int

type

オブジェクトのdiscord.pyモデルタイプ。指定されていない場合は、デフォルトでこのクラスになります。

注釈

適用可能な型が複数ある場合は、共通の基底クラスを使用してください。 例えば、 MemberUser は両方とも abc.User のサブクラスです。

バージョン 2.0 で追加.

Type[abc.Snowflake]

property created_at

スノーフレークの作成時刻をUTCで返します。

datetime.datetime

Embed

class discord.Embed(*, colour=None, color=None, title=None, type='rich', url=None, description=None, timestamp=None)

Discordの埋め込み。

len(x)

埋め込みの合計サイズを返します。6000文字の上限内かどうかを確認するのに便利です。

bool(b)

埋め込みにデータがあるかどうかを返します。

バージョン 2.0 で追加.

x == y

二つの埋め込みが等しいかを比較します。

バージョン 2.0 で追加.

使いやすさを考慮して、str が渡されることを想定されたすべてのパラメータは、暗黙的に str にキャストされます。

バージョン 2.0 で変更: Embed.Empty は、 None に置き換えられ削除されました。

title

埋め込みのタイトル。初期化中に設定できます。最大256文字までです。

Optional[str]

type

埋め込みのタイプ。通常は「rich」です。初期化時に設定できます。 埋め込みのタイプとして可能な文字列は Discordの API 説明書 にあります。

str

description

埋め込みの説明。初期化中に設定できます。最大4096文字までです。

Optional[str]

url

埋め込みのURL。初期化時に設定できます。

Optional[str]

timestamp

埋め込みコンテンツのタイムスタンプ。これはaware datetimeです。 naive datetimeが渡されると、ローカルタイムゾーンを用いたaware datetimeに変換されます。

Optional[datetime.datetime]

colour

埋め込みのカラーコード。 color というエイリアスが存在します。初期化時に設定できます。

Optional[Union[Colour, int]]

classmethod from_dict(data)

Discordの期待するフォーマットの dictEmbed に変換します。

このフォーマットについては、 Discord公式のドキュメント を参照してください。

パラメータ

data (dict) -- 埋め込みに変換する辞書。

copy()

埋め込みのシャローコピーを返します。

property footer

フッターの内容を表す EmbedProxy を返します。

アクセス可能な値は set_footer() を参照してください。

属性に値がない場合は None が返されます。

埋め込みコンテンツのフッターを設定します。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。

パラメータ

埋め込みフッター情報を消去します。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。

バージョン 2.0 で追加.

property image

画像の内容を表す EmbedProxy を返します。

アクセス可能な属性は次のとおりです:

  • url

  • proxy_url

  • width

  • height

属性に値がない場合は None が返されます。

set_image(*, url)

埋め込みコンテンツの画像を設定します。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。

パラメータ

url (str) -- 画像のソースURL。HTTP(S) のみサポートされています。インラインの添付ファイル URL もサポートされています。 Embedの画像にローカルの画像を使用するにはどうすればいいですか。 を参照してください。

property thumbnail

サムネイルの内容を表す EmbedProxy を返します。

アクセス可能な属性は次のとおりです:

  • url

  • proxy_url

  • width

  • height

属性に値がない場合は None が返されます。

set_thumbnail(*, url)

埋め込みコンテンツのサムネイルを設定します。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。

バージョン 1.4 で変更: None を渡すとサムネイルが除去されます。

パラメータ

url (str) -- サムネイルのソースURL。HTTP(S) のみサポートされています。インラインの添付ファイル URL もサポートされています。 Embedの画像にローカルの画像を使用するにはどうすればいいですか。 を参照してください。

property video

ビデオの内容を表す EmbedProxy を返します。

可能な属性は次のとおりです:

  • url :ビデオのURL

  • height :ビデオの高さ

  • width :ビデオの幅

属性に値がない場合は None が返されます。

property provider

プロバイダの内容を表す EmbedProxy を返します。

アクセス可能な属性は nameurl だけです。

属性に値がない場合は None が返されます。

property author

作成者の内容を表す EmbedProxy を返します。

アクセス可能な値は set_author() を参照してください。

属性に値がない場合は None が返されます。

set_author(*, name, url=None, icon_url=None)

埋め込みコンテンツの作成者を設定します。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。

パラメータ
remove_author()

埋め込みの作成者情報を消去します。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。

バージョン 1.4 で追加.

property fields

項目の内容を表す EmbedProxylist を返します。

アクセス可能な値は add_field() を参照してください。

属性に値がない場合は None が返されます。

List[EmbedProxy]

add_field(*, name, value, inline=True)

埋め込みオブジェクトに項目を追加します。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。項目は最大25個まで追加できます。

パラメータ
  • name (str) -- 項目の名前。最大256文字までです。

  • value (str) -- 項目の値。最大1024文字までです。

  • inline (bool) -- 項目をインライン表示するかどうか。

insert_field_at(index, *, name, value, inline=True)

指定したインデックスの前に項目を挿入します。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。項目は最大25個まで追加できます。

バージョン 1.2 で追加.

パラメータ
  • index (int) -- 項目を挿入する場所のインデックス。

  • name (str) -- 項目の名前。最大256文字までです。

  • value (str) -- 項目の値。最大1024文字までです。

  • inline (bool) -- 項目をインライン表示するかどうか。

clear_fields()

埋め込みからすべての項目を削除します。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。

バージョン 2.0 で変更: この関数はクラスインスタンスを返すようになりました。

remove_field(index)

特定のインデックスの項目を削除します。

インデックスが無効または範囲外の場合、エラーは無視されます。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。

注釈

インデックスで項目を削除する場合、他の項目のインデックスは、通常のリストのようにギャップを埋めるために繰り上げられます。

バージョン 2.0 で変更: この関数はクラスインスタンスを返すようになりました。

パラメータ

index (int) -- 削除する項目のインデックス。

set_field_at(index, *, name, value, inline=True)

埋め込みオブジェクトの項目を変更します。

インデックスは、有効な既存の項目を指す必要があります。項目は最大で25個までです。

この関数は、流暢なスタイルのチェーンを可能にするため、クラスインスタンスを返します。

パラメータ
  • index (int) -- 変更する項目のインデックス。

  • name (str) -- 項目の名前。最大256文字までです。

  • value (str) -- 項目の値。最大1024文字までです。

  • inline (bool) -- 項目をインライン表示するかどうか。

例外

IndexError -- 無効なインデックスが指定された場合。

to_dict()

埋め込みオブジェクトを辞書型に変換します。

AllowedMentions

class discord.AllowedMentions(*, everyone=True, users=True, roles=True, replied_user=True)

メッセージ内で許可されたメンションを表すクラス。

これは Client の初期化時に設定して、すべての送信されるメッセージに適用できます。より細かなコントロールを行いたい場合に、abc.Messageable.send() を用いてメッセージ単位でも適用できます。

everyone

everyoneとhereメンションを許可するか。デフォルトは True です。

bool

users

メンションできるユーザーをコントロールします。 True (デフォルト)の場合ユーザーはメッセージ内容によってメンションされます。 False の場合ユーザーは一切メンションされません。 abc.Snowflake のリストが与えられた場合、与えられたユーザーがメッセージ内容に存在する場合に、そのユーザーのみメンションされます。

Union[bool, Sequence[abc.Snowflake]]

roles

メンションできるロールをコントロールします。 True (デフォルト)の場合ロールはメッセージ内容によってメンションされます。 False の場合ロールは一切メンションされません。 abc.Snowflake のリストが与えられた場合、与えられたロールがメッセージ内容に存在する場合に、そのロールのみメンションされます。

Union[bool, Sequence[abc.Snowflake]]

replied_user

返信先のメッセージの作成者をメンションするかどうか。デフォルトは True です。

バージョン 1.6 で追加.

bool

classmethod all()

すべてのフィールドが True に明示的に設定された AllowedMentions を返すファクトリメソッド。

バージョン 1.5 で追加.

classmethod none()

すべてのフィールドが False に設定された AllowedMentions を返すファクトリメソッド。

バージョン 1.5 で追加.

MessageReference

class discord.MessageReference(*, message_id, channel_id, guild_id=None, fail_if_not_exists=True)

Message への参照を表します。

バージョン 1.5 で追加.

バージョン 1.6 で変更: このクラスはユーザーによって作成できるようになりました。

message_id

参照されているメッセージのID。

Optional[int]

channel_id

参照されているメッセージのチャンネルID。

int

guild_id

参照されているメッセージのギルドID。

Optional[int]

fail_if_not_exists

参照されたメッセージに返信するとき、メッセージが存在しなくなった場合、またはDiscordがメッセージを取得できなかった場合、 HTTPException を送出させるかどうか。

バージョン 1.7 で追加.

bool

resolved

この参照が解決したメッセージ。 None の場合、Discord APIが解決しようとしていないか、作成時に利用できないため、元のメッセージは取得されませんでした。 メッセージが以前の時点で解決されていて削除されている場合は、 DeletedReferencedMessage になります。

現在、これは主にユーザーがメッセージに返信したときの返信元メッセージです。

バージョン 1.6 で追加.

Optional[Union[Message, DeletedReferencedMessage]]

classmethod from_message(message, *, fail_if_not_exists=True)

既存の Message から MessageReference を作成します。

バージョン 1.6 で追加.

パラメータ
  • message (Message) -- 参照に変換されるメッセージ。

  • fail_if_not_exists (bool) --

    参照されたメッセージに返信するとき、メッセージが存在しなくなった場合、またはDiscordがメッセージを取得できなかった場合、 HTTPException を送出させるかどうか。

    バージョン 1.7 で追加.

戻り値

メッセージへの参照。

戻り値の型

MessageReference

property cached_message

内部のメッセージキャッシュに見つかった場合、そのキャッシュされたメッセージ。

Optional[Message]

property jump_url

クライアントが参照されたメッセージにジャンプすることのできるURLを返します。

バージョン 1.7 で追加.

str

PartialMessage

class discord.PartialMessage(*, channel, id)

チャンネルIDとメッセージIDのみ存在する場合にメッセージとの作業を簡単にする部分的なメッセージを表します。

このクラスを構築するには2つの方法があります。最初の方法はコンストラクタ自体で、もう一つの方法は以下によるものです:

これは機能が削られていてリッチな属性を持ちません。

バージョン 1.6 で追加.

x == y

二つの部分的なメッセージが等しいかを比較します。

x != y

二つの部分的なメッセージが等しくないかを比較します。

hash(x)

部分的なメッセージのハッシュ値を返します。

channel

この部分的なメッセージに関連付けられたチャンネル。

Union[PartialMessageable, TextChannel, StageChannel, VoiceChannel, Thread, DMChannel]

id

メッセージのID。

int

guild

該当する場合、この部分的なメッセージが属するギルド。

Optional[Guild]

property created_at

UTCの、部分的なメッセージが作成された時刻。

datetime.datetime

property jump_url

クライアントがこのメッセージにジャンプすることのできるURLを返します。

str

property thread

The public thread created from this message, if it exists.

注釈

This does not retrieve archived threads, as they are not retained in the internal cache. Use fetch_thread() instead.

バージョン 2.4 で追加.

Optional[Thread]

await fetch()

This function is a coroutine.

部分的なメッセージを完全な Message に変換します。

例外
  • NotFound -- メッセージが見つからなかった場合。

  • Forbidden -- メッセージの取得に必要な権限がない場合。

  • HTTPException -- メッセージの取得に失敗した場合。

戻り値

完全なメッセージ。

戻り値の型

Message

await delete(*, delay=None)

This function is a coroutine.

メッセージを削除します。

自身が送信したメッセージは適切な権限が無くとも削除できます。しかし、他人の送信したメッセージを削除する場合には、manage_messages が必要です。

バージョン 1.1 で変更: delay キーワード引数が追加されました。

パラメータ

delay (Optional[float]) -- 指定したなら、これはメッセージを削除前に待機する秒数となります。もし削除が失敗しても、それは静かに無視されます。

例外
  • Forbidden -- メッセージを削除するための適切な権限がない場合。

  • NotFound -- メッセージがすでに削除されている場合。

  • HTTPException -- メッセージの削除に失敗した場合。

await edit(*, content=..., embed=..., embeds=..., attachments=..., delete_after=None, allowed_mentions=..., view=...)

This function is a coroutine.

メッセージを編集します。

内容は str(content) によって文字列に変換できる必要があります。

バージョン 2.0 で変更: 編集はメッセージを置き換えず、編集された新しいメッセージが返されるようになりました。

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

パラメータ
  • content (Optional[str]) -- 現在のメッセージと置き換える新しい内容。内容を削除するために None を指定することもできます。

  • embed (Optional[Embed]) -- オリジナルのメッセージと置き換える新しい埋め込み。埋め込みを削除するために None を指定することもできます。

  • embeds (List[Embed]) --

    オリジナルのメッセージと置き換える新しい埋め込み。最大で10個まで指定できます。埋め込みをすべて削除するためには [] を指定してください。

    バージョン 2.0 で追加.

  • attachments (List[Union[Attachment, File]]) --

    メッセージ内で残す添付ファイルと、新規にアップロードする添付ファイルのリスト。 [] が渡された場合すべての添付ファイルが除去されます。

    注釈

    新しいファイルは常に現在の添付ファイルのあとに表示されます。

    バージョン 2.0 で追加.

  • delete_after (Optional[float]) -- もし指定したなら、これはメッセージを編集したあと待機し削除するまでの秒数です。もし削除が失敗しても、それは静かに無視されます。

  • allowed_mentions (Optional[AllowedMentions]) --

    処理すべきメッセージ内のメンションを制御します。これが渡された場合、オブジェクトは allowed_mentions とマージされます。これは、オブジェクトに明示的に渡された属性のみを上書きするもので、それ以外は allowed_mentions で設定された属性が使用されます。もしオブジェクトが渡されていない場合は allowed_mentions が既定値として利用されます。

    バージョン 1.4 で追加.

  • view (Optional[View]) -- このメッセージを更新するために更新されたビュー。 None が渡された場合、ビューは削除されます。

例外
  • HTTPException -- メッセージの編集に失敗した場合。

  • Forbidden -- 権限なしに埋め込みを除去しようとした場合や、他人のメッセージの内容や埋め込みを編集しようとした場合。

  • TypeError -- embedembeds の両方を指定した場合。

戻り値

編集された新しいメッセージ。

戻り値の型

Message

await publish()

This function is a coroutine.

このメッセージをチャンネルのフォロワーに公開します。

メッセージはニュースチャンネルで送信されている必要があります。これを行うには、 send_messages が必要です。

自身のメッセージ以外の場合は manage_messages も必要です。

例外
  • Forbidden -- このメッセージを公開するための適切な権限がないか、チャンネルがニュースチャンネルでない場合。

  • HTTPException -- メッセージの公開に失敗した場合。

await pin(*, reason=None)

This function is a coroutine.

メッセージをピン留めします。

プライベートチャンネルでない通常のチャンネルで行うには、 manage_messages が必要です。

パラメータ

reason (Optional[str]) --

メッセージをピン留めする理由。監査ログに表示されます。

バージョン 1.4 で追加.

例外
  • Forbidden -- このメッセージをピン留めする権限を持っていない場合。

  • NotFound -- ピン留めするメッセージやチャンネルが見つからなかったか、既に削除されている場合。

  • HTTPException -- チャンネルにすでに50個ピン留めされたメッセージがあるなどの理由で、メッセージのピン留めに失敗した場合。

await unpin(*, reason=None)

This function is a coroutine.

メッセージのピン留めを外します。

プライベートチャンネルでない通常のチャンネルで行うには、 manage_messages が必要です。

パラメータ

reason (Optional[str]) --

メッセージのピン留めを解除した理由。監査ログに表示されます。

バージョン 1.4 で追加.

例外
  • Forbidden -- このメッセージのピン留めを外す権限を持っていない場合。

  • NotFound -- ピン留めするメッセージやチャンネルが見つからなかったか、既に削除されている場合。

  • HTTPException -- メッセージのピン留め解除に失敗した場合。

await add_reaction(emoji, /)

This function is a coroutine.

メッセージにリアクションを追加します。

絵文字はユニコード絵文字かカスタムギルド絵文字の Emoji でないといけません。

これを行うためには、そのチャンネルにて read_message_history が必要です。 もし、他の人がその絵文字でリアクションしていない場合、さらに add_reactions が必要です。

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

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

パラメータ

emoji (Union[Emoji, Reaction, PartialEmoji, str]) -- リアクションとして追加する絵文字。

例外
  • HTTPException -- リアクションの追加に失敗した場合。

  • Forbidden -- メッセージにリアクションを付けるのに必要な権限がない場合。

  • NotFound -- 指定された絵文字が見つからなかった場合。

  • TypeError -- emojiパラメータが無効の場合。

await remove_reaction(emoji, member)

This function is a coroutine.

メッセージからあるメンバーによるリアクションをすべて除去します。

絵文字はユニコード絵文字かカスタムギルド絵文字の Emoji でないといけません。

もしリアクションがあなたのものではなければ(つまり、 member パラメーターがあなたでないなら)、 manage_messages も必要になります。

member パラメータはメンバーを示し abc.Snowflake 抽象基底クラスを満たす必要があります。

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

パラメータ
例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションの除去に必要な権限を持っていない場合。

  • NotFound -- 指定されたメンバーや絵文字が見つからなかった場合。

  • TypeError -- emojiパラメータが無効の場合。

await clear_reaction(emoji)

This function is a coroutine.

メッセージから特定のリアクションを除去します。

絵文字はユニコード絵文字かカスタムギルド絵文字の Emoji でないといけません。

これを行うには、 manage_messages が必要です。

バージョン 1.3 で追加.

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

パラメータ

emoji (Union[Emoji, Reaction, PartialEmoji, str]) -- 除去する絵文字。

例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションを除去するのに必要な権限がない場合。

  • NotFound -- 指定された絵文字が見つからなかった場合。

  • TypeError -- emojiパラメータが無効の場合。

await clear_reactions()

This function is a coroutine.

メッセージからリアクションをすべて除去します。

これを行うには、 manage_messages が必要です。

例外
  • HTTPException -- リアクションの除去に失敗した場合。

  • Forbidden -- リアクションの除去に必要な権限を持っていない場合。

await create_thread(*, name, auto_archive_duration=..., slowmode_delay=None, reason=None)

This function is a coroutine.

メッセージからパブリックスレッドを作成します。

メッセージからパブリックスレッドを作成するには、 create_public_threads 権限が必要です。

このメッセージが属するチャンネルは、 TextChannel でなければなりません。

バージョン 2.0 で追加.

パラメータ
  • name (str) -- スレッドの名前。

  • auto_archive_duration (int) -- スレッドがチャンネルリストから自動的に非表示になるまでの分単位の時間。 指定されていない場合、チャンネルのデフォルトの自動アーカイブ期間が使用されます。指定された場合は、 6014404320 、または 10080 のいずれかでないといけません。

  • slowmode_delay (Optional[int]) -- このチャンネルの秒単位での低速モードレート制限。 最大値は 21600 です。デフォルトは None でこの場合は低速モードレート制限が無しとなります。

  • reason (Optional[str]) -- スレッドを作成する理由。監査ログに表示されます。

例外
  • Forbidden -- スレッドを作成する権限を持っていない場合。

  • HTTPException -- スレッドの作成に失敗した場合。

  • ValueError -- メッセージがギルド情報を持っていない場合。

戻り値

作成されたスレッド。

戻り値の型

Thread

await fetch_thread()

This function is a coroutine.

Retrieves the public thread attached to this message.

注釈

This method is an API call. For general usage, consider thread instead.

バージョン 2.4 で追加.

例外
  • InvalidData -- An unknown channel type was received from Discord or the guild the thread belongs to is not the same as the one in this object points to.

  • HTTPException -- Retrieving the thread failed.

  • NotFound -- There is no thread attached to this message.

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

戻り値

The public thread attached to this message.

戻り値の型

Thread

await reply(content=None, **kwargs)

This function is a coroutine.

Message に返信するための abc.Messageable.send() のショートカットメソッド。

バージョン 1.6 で追加.

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

例外
  • HTTPException -- メッセージの送信に失敗した場合。

  • Forbidden -- メッセージを送信する適切な権限がない場合。

  • ValueError -- files リストの大きさが適切でない場合。

  • TypeError -- filefiless の両方を指定した場合。

戻り値

送信されたメッセージ。

戻り値の型

Message

to_reference(*, fail_if_not_exists=True)

現在のメッセージから MessageReference を作成します。

バージョン 1.6 で追加.

パラメータ

fail_if_not_exists (bool) --

メッセージ参照を使用して返信するとき、メッセージが存在しなくなった場合、またはDiscordがメッセージを取得できなかった場合、 HTTPException を送出させるかどうか。

バージョン 1.7 で追加.

戻り値

メッセージへの参照。

戻り値の型

MessageReference

MessageApplication

class discord.MessageApplication(*, state, data)

Message のメッセージアプリケーションデータ。

バージョン 2.0 で追加.

id

アプリケーションID。

int

description

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

str

name

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

str

property icon

存在する場合、アプリケーションのアイコン。

Optional[Asset]

property cover

存在する場合、アプリケーションのカバー画像。

Optional[Asset]

RoleSubscriptionInfo

class discord.RoleSubscriptionInfo(data)

メッセージのロールサブスクリプション情報を表します。

現在、 MessageType.role_subscription_purchase のメッセージでのみ利用されています。

バージョン 2.0 で追加.

role_subscription_listing_id

ユーザーが購読しているSKUとリスティングのID。

int

tier_name

ユーザーが購読している階級の名前。

str

total_months_subscribed

ユーザーが購読している月数の合計。

int

is_renewal

この通知が新しい購入ではなく、更新のためであるかどうか。

bool

Intents

class discord.Intents(value=0, **kwargs)

Discordゲートウェイのインテントフラグをまとめます。

Permissions と同様に、提供されるプロパティは双方向で利用できます。通常の真偽値であるかのように、 プロパティを使用し個々のビットを設定したり取得したりできます。

オブジェクトを構築するときに、フラグを表すキーワード引数を渡して有効または無効にすることができます。

これは、ボットを実行するのに不要な特定のゲートウェイ機能を無効にするために使用されます。 これを利用するには、 Clientintents キーワード引数に渡してください。

バージョン 1.5 で追加.

x == y

二つのフラグが等しいかを比較します。

x != y

二つのフラグが等しいものではないか比較します。

x | y, x |= y

x と y のどちらかにて有効化されたフラグを持つIntentsインスタンスを返します。

バージョン 2.0 で追加.

x & y, x &= y

x と y の両方にて有効化されたフラグのみを持つIntentsインスタンスを返します。

バージョン 2.0 で追加.

x ^ y, x ^= y

x と y のいずれか一方のみにて有効化されたフラグのみを持つIntentsインスタンスを返します。

バージョン 2.0 で追加.

~x

x のすべてのフラグが反転したIntentsインスタンスを返します。

バージョン 2.0 で追加.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。

bool(b)

何らかのインテントが有効かどうかを返します。

バージョン 2.0 で追加.

value

生の値。この値を使用するのではなく、プロパティ経由でフラグを取得すべきです。

int

classmethod all()

すべて有効化された Intents を作成するファクトリメソッド。

classmethod none()

すべて無効化された Intents を作成するファクトリメソッド。

classmethod default()

presencesmembersmessage_content 以外の全てのインテントを有効にした Intents を作成するファクトリメソッド。

guilds

ギルド関連イベントが有効かどうか。

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

ボットの動作のためにこのインテントを有効化しておくことを強く推奨します。

bool

members

ギルドメンバー関連イベントが有効になっているかどうか。

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

詳細については、 メンバーインテントの説明 を参照してください。

注釈

現在、開発者ポータルからも明示的にオプトインする必要があります。100を超えるギルドに属するボットは、認証のためにDiscordに申請する必要があります。

bool

moderation

ギルドモデレーション関連イベントが有効になっているかどうか。

以下のイベントに対応します:

これは、キャッシュに関しては、ライブラリ内の属性やクラスには対応しません。

bool

bans

moderation のエイリアス。

バージョン 2.2 で変更: エイリアスに変更されました。

bool

emojis

emojis_and_stickers のエイリアス。

バージョン 2.0 で変更: エイリアスに変更されました。

bool

emojis_and_stickers

ギルドの絵文字とスタンプ関連イベントが有効になっているかどうか。

バージョン 2.0 で追加.

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

bool

integrations

ギルド連携サービス関連イベントが有効になっているかどうか。

以下のイベントに対応します:

これは、キャッシュに関しては、ライブラリ内の属性やクラスには対応しません。

bool

webhooks

ギルドのWebhook関連イベントが有効かどうか。

以下のイベントに対応します:

これは、キャッシュに関しては、ライブラリ内の属性やクラスには対応しません。

bool

invites

ギルド招待関連イベントが有効かどうか。

以下のイベントに対応します:

これは、キャッシュに関しては、ライブラリ内の属性やクラスには対応しません。

bool

voice_states

ギルドのボイス状態関連イベントが有効かどうか。

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

注釈

ボイスに接続するには、このインテントが必要です。

bool

presences

ギルドプレゼンス関連イベントが有効になっているかどうか。

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

詳細については、 プレゼンスインテントの説明 を参照してください。

注釈

現在、開発者ポータルからも明示的にオプトインする必要があります。100を超えるギルドに属するボットは、認証のためにDiscordに申請する必要があります。

bool

messages

ギルドとダイレクトメッセージ関連イベントが有効になっているかどうか。

guild_messagesdm_messages の両方を設定または取得するためのショートカットです。

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

暗黙の関係により、これは次のイベントにも対応することに注意してください:

bool

guild_messages

ギルドメッセージ関連イベントが有効になっているかどうか。

DMの場合は dm_messages 、両方に対応する messages も参照してください。

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

暗黙の関係により、これは次のイベントにも対応することに注意してください:

bool

dm_messages

ダイレクトメッセージ関連イベントが有効になっているかどうか。

ギルドの場合は guild_messages 、両方に対応する messages も参照してください。

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

暗黙の関係により、これは次のイベントにも対応することに注意してください:

bool

reactions

ギルドとダイレクトメッセージのリアクション関連イベントが有効になっているかどうか。

guild_reactionsdm_reactions の両方を設定または取得するためのショートカットです。

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

bool

guild_reactions

ギルドメッセージのリアクション関連イベントが有効かどうか。

DMの場合は dm_reactions 、両方に対応する reactions も参照してください。

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

bool

dm_reactions

ダイレクトメッセージのリアクション関連イベントが有効かどうか。

ギルドの場合は guild_reactions 、両方に対応する reactions も参照してください。

以下のイベントに対応します:

これはキャッシュの点で次の属性とクラスにも対応します:

bool

typing

ギルドとダイレクトメッセージの入力関連イベントが有効になっているかどうか。

guild_typingdm_typing の両方を設定または取得するためのショートカットです。

以下のイベントに対応します:

これは、キャッシュに関しては、ライブラリ内の属性やクラスには対応しません。

bool

guild_typing

ギルドとダイレクトメッセージの入力関連イベントが有効になっているかどうか。

DMの場合は dm_typing 、両方に対応する typing も参照してください。

以下のイベントに対応します:

これは、キャッシュに関しては、ライブラリ内の属性やクラスには対応しません。

bool

dm_typing

ギルドとダイレクトメッセージの入力関連イベントが有効になっているかどうか。

ギルドの場合は guild_typing 、両方に対応する typing も参照してください。

以下のイベントに対応します:

これは、キャッシュに関しては、ライブラリ内の属性やクラスには対応しません。

bool

message_content

メッセージの内容、添付ファイル、埋め込みおよびコンポーネントが次の基準をすべて満たしていないメッセージで利用できるかどうか:

  • このクライアントにより送信されていないこと。

  • メッセージがダイレクトメッセージで送信されていないこと。

  • メッセージがクライアントをメンションしないこと。

以下のイベントに適用されます。

詳細は メッセージコンテンツインテントの説明 を参照してください。

注釈

現在、開発者ポータルからも明示的にオプトインする必要があります。100を超えるギルドに属するボットは、認証のためにDiscordに申請する必要があります。

バージョン 2.0 で追加.

bool

guild_scheduled_events

ギルドスケジュールイベント関連イベントが有効になっているかどうか。

以下のイベントに対応します:

バージョン 2.0 で追加.

bool

auto_moderation

自動管理ルール関係のイベントが有効になっているかどうか。

これは、 auto_moderation_configurationauto_moderation_execution の両方を設定または取得するためのショートカットです。

以下のイベントに対応します:

バージョン 2.0 で追加.

bool

auto_moderation_configuration

自動管理ルール設定関係のイベントが有効になっているかどうか。

以下のイベントに対応します:

バージョン 2.0 で追加.

bool

auto_moderation_execution

自動管理ルール対応関係のイベントが有効になっているかどうか。

これは以下のイベントに対応します: - on_automod_action()

バージョン 2.0 で追加.

bool

MemberCacheFlags

class discord.MemberCacheFlags(**kwargs)

メンバーに関するライブラリのキャッシュポリシーを制御します。

これはキャッシュされたメンバーをより細かく制御することを可能にします。ボット自身のメンバーは常にキャッシュされることに注意してください。 このクラスは Clientmember_cache_flags パラメータに渡されます。

Discordがどのように動作するかの影響で、キャッシュリソースを適切にクリーンアップするために、 Intents.members を有効化することをお勧めします。そうでなければ、ライブラリはメンバーがいつギルドから脱退したのかを知ることができず、その後のクリーンアップができません。

オブジェクトを構築するときに、フラグを表すキーワード引数を渡して有効または無効にすることができます。

デフォルト値はすべて有効になっているフラグです。

バージョン 1.5 で追加.

x == y

二つのフラグが等しいかを比較します。

x != y

二つのフラグが等しいものではないか比較します。

x | y, x |= y

x と y のどちらかにて有効化されたフラグを持つMemberCacheFlagsインスタンスを返します。

バージョン 2.0 で追加.

x & y, x &= y

x と y の両方にて有効化されたフラグのみを持つMemberCacheFlagsインスタンスを返します。

バージョン 2.0 で追加.

x ^ y, x ^= y

x と y のいずれか一方のみにて有効化されたフラグのみを持つMemberCacheFlagsインスタンスを返します。

バージョン 2.0 で追加.

~x

x のすべてのフラグが反転したMemberCacheFlagsインスタンスを返します。

バージョン 2.0 で追加.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

バージョン 2.0 で追加.

value

生の値。この値を使用するのではなく、プロパティ経由でフラグを取得すべきです。

int

classmethod all()

すべて有効化された MemberCacheFlags を作成するファクトリメソッド。

classmethod none()

すべて無効化された MemberCacheFlags を作成するファクトリメソッド。

voice

ボイス内のメンバーをキャッシュするか。

Intents.voice_states が必要です。

ボイスを退出したメンバーはキャッシュされません。

bool

joined

ギルドに参加したメンバーや、最初のログインフローの一環としてチャンクされたメンバーをキャッシュするか。

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

ギルドから脱退したメンバーはキャッシュされません。

bool

classmethod from_intents(intents)

現在選択されている Intents に基づいて MemberCacheFlags を作成するファクトリメソッド。

パラメータ

intents (Intents) -- 選択するインテント。

戻り値

結果として生成されるメンバーキャッシュフラグ。

戻り値の型

MemberCacheFlags

ApplicationFlags

class discord.ApplicationFlags(**kwargs)

Discordアプリケーションのフラグをまとめます。

x == y

アプリケーションフラグが等しいか確認します。

x != y

アプリケーションフラグが等しくないか確認します。

x | y, x |= y

x と y のどちらかにて有効化されたフラグを持つApplicationFlagsインスタンスを返します。

バージョン 2.0 で追加.

x & y, x &= y

x と y の両方にて有効化されたフラグのみを持つApplicationFlagsインスタンスを返します。

バージョン 2.0 で追加.

x ^ y, x ^= y

x と y のいずれか一方のみにて有効化されたフラグのみを持つApplicationFlagsインスタンスを返します。

バージョン 2.0 で追加.

~x

x のすべてのフラグが反転したApplicationFlagsインスタンスを返します。

バージョン 2.0 で追加.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。エイリアスは含まれません。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

バージョン 2.0 で追加.

value

生の値。この値を使用するのではなく、プロパティ経由でフラグを取得すべきです。

int

auto_mod_badge

アプリケーションがすべてのギルドを合算して少なくとも100の自動管理ルールを使用している場合 True を返します。これは公式クライアントにバッジとして表示されます。

バージョン 2.3 で追加.

bool

gateway_presence

アプリケーションが認証済みでプレゼンス情報をゲートウェイ経由で受け取ることができる場合に True を返します。

bool

gateway_presence_limited

アプリケーションが制限付きのプレゼンス情報をゲートウェイ経由で受け取ることができる場合に True を返します。

bool

gateway_guild_members

アプリケーションが認証済みでギルドメンバー情報をゲートウェイ経由で受け取ることができる場合に True を返します。

bool

gateway_guild_members_limited

アプリケーションが制限付きのギルドメンバー情報をゲートウェイ経由で受け取ることができる場合に True を返します。

bool

verification_pending_guild_limit

アプリケーションが認証待ちでギルド制限に到達した場合に True を返します。

bool

embedded

アプリケーションがDiscordクライアントに埋め込まれている場合に True を返します。

bool

gateway_message_content

アプリケーションが認証済みでギルドのメッセージコンテンツを読むことができる場合に True を返します。

bool

gateway_message_content_limited

アプリケーションが認証されておらず、ギルドのメッセージコンテンツを読むことができる場合に True を返します。

bool

app_commands_badge

アプリケーションがグローバルアプリケーションコマンドを登録している場合に True を返します。これは公式クライアントにバッジとして表示されます。

bool

active

過去30日間で少なくとも1つのグローバルアプリケーションコマンドが使用されている場合に True を返します。

バージョン 2.1 で追加.

bool

ChannelFlags

class discord.ChannelFlags(**kwargs)

Discordの GuildChannelThread のフラグをまとめます。

x == y

二つのチャンネルフラグが等しいかを比較します。

x != y

二つのチャンネルフラグが等しいものではないか比較します。

x | y, x |= y

x と y のどちらかにて有効化されたフラグを持つChannelFlagsインスタンスを返します。

バージョン 2.0 で追加.

x & y, x &= y

x と y の両方にて有効化されたフラグのみを持つChannelFlagsインスタンスを返します。

バージョン 2.0 で追加.

x ^ y, x ^= y

x と y のいずれか一方のみにて有効化されたフラグのみを持つChannelFlagsインスタンスを返します。

バージョン 2.0 で追加.

~x

x のすべてのフラグが反転したChannelFlagsインスタンスを返します。

バージョン 2.0 で追加.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。エイリアスは含まれません。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

バージョン 2.0 で追加.

value

生の値。この値を使用するのではなく、プロパティ経由でフラグを取得すべきです。

int

pinned

スレッドがフォーラムチャンネルにピン留めされている場合に True を返します。

bool

require_tag

ForumChannel でスレッドを作成する際にタグを指定する必要がある場合に True を返します。

バージョン 2.1 で追加.

bool

hide_media_download_options

Returns True if the client hides embedded media download options in a ForumChannel. Only available in media channels.

バージョン 2.4 で追加.

bool

AutoModPresets

class discord.AutoModPresets(**kwargs)

Discordの AutoModRule プリセットをまとめます。

バージョン 2.0 で追加.

x == y

二つの自動管理プリセットフラグが等しいかを比較します。

x != y

二つの自動管理プリセットフラグが等しいものではないか比較します。

x | y, x |= y

x と y のどちらかにて有効化されたフラグを持つAutoModPresetsインスタンスを返します。

バージョン 2.0 で追加.

x & y, x &= y

x と y の両方にて有効化されたフラグのみを持つAutoModPresetsインスタンスを返します。

バージョン 2.0 で追加.

x ^ y, x ^= y

x と y のいずれか一方のみにて有効化されたフラグのみを持つAutoModPresetsインスタンスを返します。

バージョン 2.0 で追加.

~x

x のすべてのフラグが反転したAutoModPresetsインスタンスを返します。

バージョン 2.0 で追加.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。エイリアスは含まれません。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

value

生の値。この値を使用するのではなく、プロパティ経由でフラグを取得すべきです。

int

profanity

過度に卑猥な言葉のフィルタのプリセットを使用するかどうか。

bool

sexual_content

性行為を連想させる描写のフィルタのプリセットを使用するかどうか。

bool

slurs

侮辱語、差別語のフィルタのプリセットを使用するかどうか。

bool

classmethod all()

すべて有効化された AutoModPresets を作成するファクトリメソッド。

classmethod none()

すべて無効化された AutoModPresets を作成するファクトリメソッド。

AutoModRuleAction

class discord.AutoModRuleAction(*, type=None, channel_id=None, duration=None, custom_message=None)

自動管理ルールの対応を表します。

注釈

channel_iddurationcustom_message のいずれか一つのみが使用できます。

バージョン 2.0 で追加.

type

行う対応の種類。デフォルトは block_message です。

AutoModRuleActionType

channel_id

該当する場合、アラートメッセージを送信するチャンネルまたはスレッドのID。これを渡すと、 typesend_alert_message に設定されます。

Optional[int]

duration

該当する場合、適用するタイムアウトの長さ。最大28日間です。これを渡すと、 typetimeout に設定されます。

Optional[datetime.timedelta]

custom_message

メッセージがブロックされたときに送信者に表示されるカスタムメッセージ。 typeblock_message に設定します。

バージョン 2.2 で追加.

Optional[str]

AutoModTrigger

class discord.AutoModTrigger(*, type=None, keyword_filter=None, presets=None, allow_list=None, mention_limit=None, regex_patterns=None, mention_raid_protection=None)

自動管理ルールの発動条件を表します。

以下は、各 AutoModRuleTriggerType に関連する属性を示す表です。

バージョン 2.0 で追加.

type

発動条件の種類。

AutoModRuleTriggerType

keyword_filter

The list of strings that will trigger the filter. Maximum of 1000. Keywords can only be up to 60 characters in length.

regex_patterns と組み合わせることができます。

List[str]

regex_patterns

フィルタを発動させる正規表現パターン。構文は Rust の正規表現構文 に基づいています。 最大 10 個まで。正規表現文字列は 260 文字までしか使用できません。

keyword_filterallow_list と組み合わせることができます。

バージョン 2.1 で追加.

List[str]

presets

プリセットキーワードフィルタで使用されるプリセット。

AutoModPresets

allow_list

共通のキーワードフィルタの単語から除外される単語の一覧。最大100個まで。キーワードは各60文字以内です。

List[str]

mention_limit

メッセージに含めることのできるユーザーとロールのメンションの合計数。最大で50個です。

int

mention_raid_protection

Whether mention raid protection is enabled or not.

バージョン 2.4 で追加.

bool

File

class discord.File(fp, filename=None, *, spoiler=..., description=None)

abc.Messageable.send() にてファイルを送信するときに使用されるパラメータオブジェクト。

注釈

ファイルオブジェクトは使い切りであり、複数の abc.Messageable.send() 呼び出しで再利用することは意図していません。

fp

バイナリモードで開かれたファイルライクオブジェクト、または開くハードドライブ内のファイルを表すファイル名。

注釈

もしファイルライクオブジェクトが open で開かれた場合モード rb が使用されるべきです。

バイナリデータを渡すには、 io.BytesIO を使用してみてください。

Union[os.PathLike, io.BufferedIOBase]

spoiler

添付ファイルがスポイラーであるかどうか。指定されていない場合は、 filename を使用してファイルがスポイラーであるかどうかを判断します。

bool

description

表示するファイルの説明。現在画像でのみサポートされています。

バージョン 2.0 で追加.

Optional[str]

property filename

Discordにアップロードするときに表示されるファイル名。指定されていない場合はデフォルトでは fp.name 、または fp が文字列の場合、 filename は与えられた文字列をデフォルトにします。

str

Colour

class discord.Colour(value)

Discordのロールの色を表します。このクラスは (赤、緑、青) の tuple に似ています。

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

x == y

二つの色が等しいかを比較します。

x != y

二つの色が等しいものではないか比較します。

hash(x)

色のハッシュ値を返します。

str(x)

色の16進数表記を返します。

int(x)

生の色の値を返します。

注釈

クラスメソッドの色はDiscordクライアントの色をほぼそのまま提供しているため、クライアントで使用する色が変更された場合、値がバージョン間で変更されることがあります。

value

生の色の整数値。

int

property r

色の赤の成分を返します。

int

property g

色の緑色の成分を返します。

int

property b

色の青色の成分を返します。

int

to_rgb()

Tuple[int, int, int]: 色を表す (r, g, b) タプルを返します。

classmethod from_rgb(r, g, b)

RGB のタプルから Colour を作成します。

classmethod from_hsv(h, s, v)

HSV のタプルから Colour を作成します。

classmethod from_str(value)

文字列から Colour を作成します。

以下のフォーマットが利用可能です:

  • 0x<hex>

  • #<hex>

  • 0x#<hex>

  • rgb(<数値>, <数値>, <数値>)

CSSのように、 <number> は0-255か0-100%で指定でき、 <hex> は6桁の16進数表記か3桁のショートカット (例: #FFF)で指定できます。

バージョン 2.0 で追加.

例外

ValueError -- 文字列を色に変換できなかった場合。

classmethod default()

0 の値を持つ Colour を返すクラスメソッドです。

classmethod random(*, seed=None)

ランダムな色相を持つ Colour を返すクラスメソッドです。

注釈

これは、色相をランダムに選び、彩度と明度を最大にした色を選びます。

バージョン 1.6 で追加.

パラメータ

seed (Optional[Union[int, str, float, bytes, bytearray]]) --

RNGを初期化するときのシード値。None を渡した場合、デフォルトのRNGが使用されます。

バージョン 1.7 で追加.

classmethod teal()

0x1ABC9C の値を持つ Colour を返すクラスメソッドです。

classmethod dark_teal()

0x11806A の値を持つ Colour を返すクラスメソッドです。

classmethod brand_green()

0x57F287 の値を持つ Colour を返すクラスメソッドです。

バージョン 2.0 で追加.

classmethod green()

0x2ECC71 の値を持つ Colour を返すクラスメソッドです。

classmethod dark_green()

0x1F8B4C の値を持つ Colour を返すクラスメソッドです。

classmethod blue()

0x3498DB の値を持つ Colour を返すクラスメソッドです。

classmethod dark_blue()

0x206694 の値を持つ Colour を返すクラスメソッドです。

classmethod purple()

0x9B59B6 の値を持つ Colour を返すクラスメソッドです。

classmethod dark_purple()

0x71368A の値を持つ Colour を返すクラスメソッドです。

classmethod magenta()

0xE91E63 の値を持つ Colour を返すクラスメソッドです。

classmethod dark_magenta()

0xAD1457 の値を持つ Colour を返すクラスメソッドです。

classmethod gold()

0xF1C40F の値を持つ Colour を返すクラスメソッドです。

classmethod dark_gold()

0xC27C0E の値を持つ Colour を返すクラスメソッドです。

classmethod orange()

0xE67E22 の値を持つ Colour を返すクラスメソッドです。

classmethod dark_orange()

0xA84300 の値を持つ Colour を返すクラスメソッドです。

classmethod brand_red()

0xED4245 の値を持つ Colour を返すクラスメソッドです。

バージョン 2.0 で追加.

classmethod red()

0xE74C3C の値を持つ Colour を返すクラスメソッドです。

classmethod dark_red()

0x992D22 の値を持つ Colour を返すクラスメソッドです。

classmethod lighter_grey()

0x95A5A6 の値を持つ Colour を返すクラスメソッドです。

classmethod lighter_gray()

0x95A5A6 の値を持つ Colour を返すクラスメソッドです。

classmethod dark_grey()

0x607d8b の値を持つ Colour を返すクラスメソッドです。

classmethod dark_gray()

0x607d8b の値を持つ Colour を返すクラスメソッドです。

classmethod light_grey()

0x979C9F の値を持つ Colour を返すクラスメソッドです。

classmethod light_gray()

0x979C9F の値を持つ Colour を返すクラスメソッドです。

classmethod darker_grey()

0x546E7A の値を持つ Colour を返すクラスメソッドです。

classmethod darker_gray()

0x546E7A の値を持つ Colour を返すクラスメソッドです。

classmethod og_blurple()

0x7289DA の値を持つ Colour を返すクラスメソッドです。

classmethod blurple()

0x5865F2 の値を持つ Colour を返すクラスメソッドです。

classmethod greyple()

0x99AAB5 の値を持つ Colour を返すクラスメソッドです。

classmethod dark_theme()

0x313338 の値を持つ Colour を返すクラスメソッドです。

これはDiscordのダークテーマでは透明に見えます。

バージョン 1.5 で追加.

バージョン 2.2 で変更: Discordテーマの変更を反映するため以前の 0x36393F から色を変更しました。

classmethod fuchsia()

0xEB459E の値を持つ Colour を返すクラスメソッドです。

バージョン 2.0 で追加.

classmethod yellow()

0xFEE75C の値を持つ Colour を返すクラスメソッドです。

バージョン 2.0 で追加.

classmethod dark_embed()

0x2B2D31 の値を持つ Colour を返すクラスメソッドです。

バージョン 2.2 で追加.

classmethod light_embed()

0xEEEFF1 の値を持つ Colour を返すクラスメソッドです。

バージョン 2.2 で追加.

classmethod pink()

0xEB459F の値を持つ Colour を返すクラスメソッドです。

バージョン 2.3 で追加.

BaseActivity

Attributes
class discord.BaseActivity(**kwargs)

ユーザーが設定可能なアクティビティがすべて継承する基礎のアクティビティ。ユーザーが設定可能なアクティビティは、 Client.change_presence() で使用できるものです。

現在以下がユーザーによって設定できます:

なお、ライブラリはこれらをユーザー設定可能としますが、Discordは現在設定されているものによって特定のアクティビティの組み合わせを無視することがよくあります。この動作は将来変更される可能性があるため、こうしたタイプを実際に設定できるかの保証はありません。

バージョン 1.3 で追加.

property created_at

ユーザーがアクティビティを開始したときのUTC時刻。

バージョン 1.3 で追加.

Optional[datetime.datetime]

Activity

class discord.Activity(**kwargs)

Discordでのアクティビティを表します。

これは、ストリーミング、再生、リスニング、視聴などのアクティビティであるかもしれません。

メモリの最適化のために、いくつかのアクティビティは軽量化されたバージョンで提供されます:

application_id

ゲームのアプリケーションID。

Optional[int]

name

アクティビティの名前。

Optional[str]

url

アクティビティが実行中のストリームURL。

Optional[str]

type

現在行われているアクティビティのタイプ。

ActivityType

state

ユーザーの現在の状態。例えば、「In Game」など。

Optional[str]

details

ユーザーの現在のアクティビティの詳細。

Optional[str]

platform

The user's current platform.

バージョン 2.4 で追加.

Optional[str]

timestamps

タイムスタンプの辞書。次のオプションキーが含まれています:

  • start: ユーザーがアクティビティを開始したときのUnixエポック起算ミリ秒数に対応します。

  • end: ユーザーがアクティビティを終了する予定時刻のUnixエポック起算ミリ秒数に対応します。

dict

assets

アクティビティの画像とそれらのホバーテキストを表す辞書。次のオプションキーが含まれています:

  • large_image: 大きな画像アセットのIDを表す文字列。

  • large_text: 大きな画像アセットをホバーしたときに表示するテキストを表す文字列。

  • small_image: 小さな画像アセットのIDを表す文字列。

  • small_text: 小さな画像アセットをホバーしたときに表示するテキストを表す文字列。

dict

party

アクティビティのパーティーを表す辞書。次のオプションキーが含まれています:

  • id: パーティー ID を表す文字列。

  • size: 現在の大きさと最大の大きさをである二個以内の整数のリスト。

dict

buttons

リッチプレゼンスに表示されるカスタムボタンのラベルを表す文字列のリスト。

バージョン 2.0 で追加.

List[str]

emoji

このアクティビティに属する絵文字。

Optional[PartialEmoji]

property start

該当する場合、ユーザーがアクティビティを開始したときのUTC時刻。

Optional[datetime.datetime]

property end

該当する場合、ユーザーがアクティビティを終了する予定のUTC時刻。

Optional[datetime.datetime]

property large_image_url

該当する場合、このアクティビティの大きな画像アセットを指すURLを返します。

Optional[str]

property small_image_url

該当する場合、このアクティビティの小さな画像アセットを指すURLを返します。

Optional[str]

property large_image_text

該当する場合、このアクティビティの大きな画像アセットのホバーテキストを返します。

Optional[str]

property small_image_text

該当する場合、このアクティビティの小さな画像アセットのホバーテキストを返します。

Optional[str]

Game

class discord.Game(name, **extra)

Discordのゲームを表す Activity の軽量化されたバージョン。

これは通常、公式のDiscordクライアントにて プレイ中 として表示されます。

x == y

二つのゲームが等しいかを比較します。

x != y

二つのゲームが等しいものではないか比較します。

hash(x)

ゲームのハッシュ値を返します。

str(x)

ゲームの名前を返します。

パラメータ

name (str) -- ゲームの名前。

name

ゲームの名前。

str

platform

Where the user is playing from (ie. PS5, Xbox).

バージョン 2.4 で追加.

Optional[str]

assets

A dictionary representing the images and their hover text of a game. It contains the following optional keys:

  • large_image: 大きな画像アセットのIDを表す文字列。

  • large_text: 大きな画像アセットをホバーしたときに表示するテキストを表す文字列。

  • small_image: 小さな画像アセットのIDを表す文字列。

  • small_text: 小さな画像アセットをホバーしたときに表示するテキストを表す文字列。

バージョン 2.4 で追加.

dict

property type

ゲームのタイプを返します。これは Activity との互換性のためです。

これは常に ActivityType.playing を返します。

ActivityType

property start

該当する場合、ユーザーがゲームを開始したときのUTC時刻。

Optional[datetime.datetime]

property end

該当する場合、ユーザーがゲームを終了する予定のUTC時刻。

Optional[datetime.datetime]

Streaming

class discord.Streaming(*, name, url, **extra)

Discordのストリーム状態を表す Activity の軽量化されたバージョン。

これは通常、公式のDiscordクライアントにて ストリーム中 として表示されます。

x == y

二つのストリームが等しいかを比較します。

x != y

二つのストリームが等しいものではないか比較します。

hash(x)

ストリームのハッシュ値を返します。

str(x)

ストリームの名前を返します。

platform

ユーザーがストリームしている場所 (例: YouTube、Twitch)。

バージョン 1.3 で追加.

Optional[str]

name

ストリームの名前。

Optional[str]

details

name のエイリアス。

Optional[str]

game

ストリーム中のゲーム。

バージョン 1.3 で追加.

Optional[str]

url

ストリームのURL。

str

assets

Activity.assets のキーと同様のキーで構成される辞書。

dict

property type

ゲームのタイプを返します。これは Activity との互換性のためです。

これは常に ActivityType.streaming を返します。

ActivityType

property twitch_name

提供された場合、ストリーム中のユーザーのTwitchの名前。

これが twitch: で始まる場合、 Streaming.assets 辞書の large_image キーに対応します。典型的にはDiscordクライアントによって設定されます。

Optional[str]

CustomActivity

Attributes
class discord.CustomActivity(name, *, emoji=None, **extra)

Discordでのカスタムアクティビティを表します。

x == y

2つのアクティビティーが同一か比較します。

x != y

2つのアクティビティーが同一でないか比較します。

hash(x)

アクティビティのハッシュ値を返します。

str(x)

カスタムステータスのテキストを返します。

バージョン 1.3 で追加.

name

カスタムアクティビティの名前。

Optional[str]

emoji

存在する場合、アクティビティに渡す絵文字。

Optional[PartialEmoji]

property type

アクティビティのタイプを返します。これは Activity との互換性のためです。

これは常に ActivityType.custom を返します。

ActivityType

Permissions

class discord.Permissions(permissions=0, **kwargs)

Discordの権限値をまとめます。

供されるプロパティは双方向で利用できます。通常の真偽値であるかのように、 プロパティを使用し個々のビットを設定したり取得したりできます。これを用いると権限を編集できます。

バージョン 1.3 で変更: キーワード引数を使用して、 Permissionsupdate() と同様に初期化できるようになりました。

x == y

二つの権限が等しいかを比較します。

x != y

二つの権限が等しくないかを比較します。

x <= y

権限が他の権限の部分集合であるかどうかを確認します。

x >= y

権限が他の権限の上位集合であるかどうかを確認します。

x < y

権限が他の権限の真部分集合であるかどうかを確認します。

x > y

権限が他の権限の真上位集合であるかどうかを確認します。

x | y, x |= y

x と y のどちらかにて有効化されたフラグを持つPermissionsインスタンスを返します。

バージョン 2.0 で追加.

x & y, x &= y

x と y の両方にて有効化されたフラグのみを持つPermissionsインスタンスを返します。

バージョン 2.0 で追加.

x ^ y, x ^= y

x と y のいずれか一方のみにて有効化されたフラグのみを持つPermissionsインスタンスを返します。

バージョン 2.0 で追加.

~x

x のすべてのフラグが反転したPermissionsインスタンスを返します。

バージョン 2.0 で追加.

hash(x)

権限のハッシュ値を返します。

iter(x)

(perm, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。エイリアスは含まれません。

bool(b)

権限オブジェクトの権限のいずれかが True に設定されているかどうかを返します。

バージョン 2.0 で追加.

value

生の値。この値は、現在使用可能な権限を表す 53 ビット整数のビット配列フィールドです。権限の取得には、この生の値ではなくプロパティを使用すべきです。

int

is_subset(other)

これが他の権限より同じか少ない権限を有する場合 True を返します。

is_superset(other)

これが他の権限より同じか多い権限を有する場合 True を返します。

is_strict_subset(other)

この権限が他の権限の真部分集合である場合に True を返します。

is_strict_superset(other)

この権限が他の権限の真上位集合である場合に True を返します。

classmethod none()

すべての権限が False に設定された Permissions を作成するファクトリメソッド。

classmethod all()

すべての権限が True に設定された Permissions を作成するファクトリメソッド。

classmethod all_channel()

チャンネル特有の権限が True に、ギルド特有の権限が False に設定された Permissions 。ギルド特有の権限は現在以下の通りです:

バージョン 1.7 で変更: streampriority_speakeruse_application_commands 権限を追加しました。

バージョン 2.0 で変更: create_public_threadscreate_private_threadsmanage_threadsuse_external_stickerssend_messages_in_threadsrequest_to_speak 権限を追加しました。

バージョン 2.3 で変更: use_soundboardcreate_expressions 権限を追加しました。

classmethod general()

Discord公式UIの「サーバー全般の権限」をすべて True に設定した Permissions を作成するファクトリメソッド。

バージョン 1.7 で変更: read_messages が全般の権限に含まれるようになり、 administratorcreate_instant_invitekick_membersban_memberschange_nicknamemanage_nicknames は全般の権限に含まれなくなりました。

バージョン 2.3 で変更: create_expressions 権限を追加しました。

classmethod membership()

Discord公式UIの「メンバーシップ権限」をすべて True に設定した Permissions を作成するファクトリメソッド。

バージョン 1.7 で追加.

classmethod text()

Discord公式UIの「テキストチャンネル権限」をすべて True に設定した Permissions を作成するファクトリメソッド。

バージョン 1.7 で変更: read_messages がテキストチャンネル権限に含まれなくなりました。 use_application_commands 権限を追加しました。

バージョン 2.0 で変更: create_public_threadscreate_private_threadsmanage_threadssend_messages_in_threadsuse_external_stickers 権限が追加されました。

バージョン 2.3 で変更: send_voice_messages 権限を追加しました。

classmethod voice()

Discord公式UIの「ボイスチャンネル権限」をすべて True に設定した Permissions を作成するファクトリメソッド。

classmethod stage()

Discord公式UIの「ステージチャンネル権限」をすべて True に設定した Permissions を作成するファクトリメソッド。

バージョン 1.7 で追加.

classmethod stage_moderator()

ステージモデレーターの権限をすべて True に設定した Permissions を作成するファクトリメソッド。これは現在以下の通りです:

バージョン 1.7 で追加.

バージョン 2.0 で変更: manage_channels 権限を追加し、 request_to_speak 権限を削除しました。

classmethod elevated()

二段階認証を必要とする権限をすべて True に設定した Permissions を作成するファクトリメソッド。これは現在以下の通りです:

バージョン 2.0 で追加.

classmethod events()

A factory method that creates a Permissions with all "Events" permissions from the official Discord UI set to True.

バージョン 2.4 で追加.

classmethod advanced()

Discord公式UIの「高度な権限」をすべて True に設定した Permissions を作成するファクトリメソッド。

バージョン 1.7 で追加.

update(**kwargs)

権限オブジェクトを一括更新します。

キーワード引数を使用して複数の属性を設定できます。 名前は記載されているプロパティと同等でなければなりません。それ以外のキーと値のペアは無視されます。

パラメータ

**kwargs -- 権限を一括更新するためのキーと値のペアのリスト。

create_instant_invite

ユーザーが招待を作成できる場合は True を返します。

bool

kick_members

ギルドからユーザーをキックできる場合は True を返します。

bool

ban_members

ギルドからユーザーをBANできる場合は True を返します。

bool

administrator

ユーザーが管理者の場合は True を返します。このロールは他のすべての権限を上書きします。

これはチャンネル特有のすべての上書きもバイパスします。

bool

manage_channels

ギルド内のチャンネルを編集、削除、作成できる場合は True を返します。

「チャンネルの管理」のチャンネル固有の上書きにも対応します。

bool

manage_guild

ユーザーがギルドのプロパティを編集できる場合は True を返します。

bool

add_reactions

ユーザーがメッセージにリアクションを追加できる場合は True を返します。

bool

view_audit_log

ユーザーがギルドの監査ログを具を見ることが出来る場合は True を返します。

bool

priority_speaker

通話中のユーザーの声が聞き取りやすくなった場合 True を返します。

bool

stream

ユーザーがボイスチャンネルでストリーミングできる場合は True を返します。

bool

read_messages

ユーザーがすべてまたは特定のテキストチャンネルからメッセージを読み取れる場合は True を返します。

bool

view_channel

read_messages のエイリアス。

バージョン 1.3 で追加.

bool

send_messages

ユーザーがすべてまたは特定のテキストチャンネルにメッセージを送信できる場合は True を返します。

bool

send_tts_messages

ユーザーがすべてまたは特定のテキストチャンネルにTTSメッセージを送信できる場合は True を返します。

bool

manage_messages

テキストチャンネル内のメッセージを削除またはピン留めできる場合は True を返します。

注釈

なお、現在、他の人のメッセージを編集する方法はありません。

bool

ユーザーが埋め込みコンテンツを表示するリンクを許可している場合は True を返します。

bool

attach_files

ユーザーがファイルを送信できる場合は True を返します。

bool

read_message_history

ユーザーが過去にテキストチャンネルで送られたメッセージを読める場合は True を返します。

bool

mention_everyone

ユーザーが @everyone または @here を使用することが出来る場合は True を返します。

bool

external_emojis

ユーザーが他のギルドの絵文字を使用できる場合は True を返します。

bool

use_external_emojis

external_emojis のエイリアス。

バージョン 1.3 で追加.

bool

view_guild_insights

ユーザーがサーバーインサイトを閲覧できる場合は True を返します。

バージョン 1.3 で追加.

bool

connect

ボイスチャンネルに接続できる場合は True を返します。

bool

speak

ユーザーがボイスチャンネルで話せる場合は True を返します。

bool

mute_members

ユーザーが他のユーザーをミュートできる場合は True を返します。

bool

deafen_members

ユーザーが他のユーザーのスピーカーをミュートにできる場合は True を返します。

bool

move_members

ユーザーが他のユーザーを他のボイスチャンネルへ移動させれる場合は True を返します。

bool

use_voice_activation

ユーザーがボイスチャンネルで音声検出を使用できる場合は True を返します。

bool

change_nickname

ユーザーがギルド内でのニックネームを変更できる場合は True を返します。

bool

manage_nicknames

ユーザーが他のユーザーのニックネームを変更できる場合は True を返します。

bool

manage_roles

ユーザーに付与されている最高レベルのロールより低いレベルのロールを、作成または編集できる場合は True を返します。

「権限の管理」のチャンネル固有の上書きにも対応します。

bool

manage_permissions

manage_roles のエイリアス。

バージョン 1.3 で追加.

bool

manage_webhooks

ユーザーがWebhookを作成、編集、削除できる場合は、True を返します。

bool

manage_expressions

絵文字、スタンプ、サウンドボードのサウンドを編集または削除できる場合は True を返します。

バージョン 2.3 で追加.

bool

manage_emojis

manage_expressions のエイリアス。

bool

manage_emojis_and_stickers

manage_expressions のエイリアス。

バージョン 2.0 で追加.

bool

use_application_commands

ユーザーがスラッシュコマンドを使用できる場合は True を返します。

バージョン 1.7 で追加.

bool

request_to_speak

ユーザーがステージチャンネルでスピーカー参加をリクエストできる場合は True を返します。

バージョン 1.7 で追加.

bool

manage_events

ユーザーがイベントの管理ができる場合は True を返します。

バージョン 2.0 で追加.

bool

manage_threads

ユーザーがスレッドを管理できる場合は True を返します。

バージョン 2.0 で追加.

bool

create_public_threads

ユーザーがパブリックスレッドを作成できる場合は True を返します。

バージョン 2.0 で追加.

bool

create_private_threads

ユーザーがプライベートスレッドを作成できる場合は True を返します。

バージョン 2.0 で追加.

bool

external_stickers

ユーザーが他のギルドのスタンプを使用できる場合は True を返します。

バージョン 2.0 で追加.

bool

use_external_stickers

external_stickers のエイリアス。

バージョン 2.0 で追加.

bool

send_messages_in_threads

ユーザーがスレッド内でメッセージを送信できる場合は True を返します。

バージョン 2.0 で追加.

bool

use_embedded_activities

ユーザーがボイスチャンネルにて埋め込みアプリケーションを起動できる場合は True を返します。

バージョン 2.0 で追加.

bool

moderate_members

ユーザーが他のユーザーをタイムアウトできる場合は True を返します。

バージョン 2.0 で追加.

bool

view_creator_monetization_analytics

Returns True if a user can view role subscription insights.

バージョン 2.4 で追加.

bool

use_soundboard

ユーザーがサウンドボードを使用できる場合は True を返します。

バージョン 2.3 で追加.

bool

create_expressions

絵文字、スタンプ、サウンドボードのサウンドを作成できる場合は True を返します。

バージョン 2.3 で追加.

bool

create_events

Returns True if a user can create guild events.

バージョン 2.4 で追加.

bool

use_external_sounds

ユーザーが他のギルドのサウンドを使用できる場合は True を返します。

バージョン 2.3 で追加.

bool

send_voice_messages

ユーザーがボイスメッセージを送信できる場合は True を返します。

バージョン 2.3 で追加.

bool

PermissionOverwrite

class discord.PermissionOverwrite(**kwargs)

チャンネル固有の権限を表すために使用されるタイプ。

通常の Permissions とは異なり、権限の既定値は False でなく None です。値を False にすると 明示的に 権限が拒否され、値を True にすると 明示的に 権限が許可されます。

サポートされる値はこれが None になる可能性を除き Permissions と同じです。

x == y

二つの上書きが等しいかを比較します。

x != y

二つの上書きが等しくないかを比較します。

iter(x)

(perm, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。エイリアスは含まれません。

パラメータ

**kwargs -- 権限の値を名前を指定して設定します。

pair()

Tuple[Permissions, Permissions]: この上書きの (許可, 拒否) ペアを返します。

classmethod from_pair(allow, deny)

Permissions の許可と拒否のペアから上書きを作成します。

is_empty()

権限の上書きが現在空であるかどうかを確認します。

空の権限上書きは、True または False に設定された上書きが存在しないものです。

戻り値

上書きが空かどうかを示します。

戻り値の型

bool

update(**kwargs)

権限上書きオブジェクトを一括更新します。

キーワード引数を使用して複数の属性を設定できます。 名前は記載されているプロパティと同等でなければなりません。それ以外のキーと値のペアは無視されます。

パラメータ

**kwargs -- 一括更新するためのキーと値のペアのリスト。

SystemChannelFlags

class discord.SystemChannelFlags(**kwargs)

Discordシステムチャンネルのフラグ値をまとめます。

Permissions と同様に、提供されるプロパティは双方向で利用できます。通常の真偽値であるかのように、 プロパティを使用し個々のビットを設定したり取得したりできます。これを用いるとシステムフラグを容易に変更できます。

オブジェクトを構築するときに、フラグを表すキーワード引数を渡して有効または無効にすることができます。

x == y

二つのフラグが等しいかを比較します。

x != y

二つのフラグが等しいものではないか比較します。

x | y, x |= y

x と y のどちらかにて有効化されたフラグを持つSystemChannelFlagsインスタンスを返します。

バージョン 2.0 で追加.

x & y, x &= y

x と y の両方にて有効化されたフラグのみを持つSystemChannelFlagsインスタンスを返します。

バージョン 2.0 で追加.

x ^ y, x ^= y

x と y のいずれか一方のみにて有効化されたフラグのみを持つSystemChannelFlagsインスタンスを返します。

バージョン 2.0 で追加.

~x

x のすべてのフラグが反転したSystemChannelFlagsインスタンスを返します。

バージョン 2.0 で追加.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

バージョン 2.0 で追加.

value

生の値。この値は、現在使用可能なフラグを表す 53 ビット整数のビット配列フィールドです。フラグの取得には、この生の値ではなくプロパティを使用すべきです。

int

join_notifications

システムチャンネルがメンバーの参加通知に使用される場合に True を返します。

bool

premium_subscriptions

システムチャンネルが「Nitroブースト」通知に使用される場合に True を返します。

bool

guild_reminder_notifications

システムチャンネルがサーバー設定に役立つヒントの通知に使用される場合に True を返します。

バージョン 2.0 で追加.

bool

join_notification_replies

メンバーの参加通知にスタンプ返信ボタン(「手を振って挨拶しましょう!」)が表示される場合に True を返します。

バージョン 2.0 で追加.

bool

role_subscription_purchase_notifications

ロールサブスクリプションの購入と更新通知が有効になっている場合に True を返します。

バージョン 2.2 で追加.

bool

role_subscription_purchase_notification_replies

ロールサブスクリプション通知にスタンプの返信ボタンがある場合に True を返します。

バージョン 2.2 で追加.

bool

MessageFlags

class discord.MessageFlags(**kwargs)

Discordメッセージのフラグ値をまとめます。

SystemChannelFlags を参照してください。

x == y

二つのフラグが等しいかを比較します。

x != y

二つのフラグが等しいものではないか比較します。

x | y, x |= y

x と y のどちらかにて有効化されたフラグを持つMessageFlagsインスタンスを返します。

バージョン 2.0 で追加.

x & y, x &= y

x と y の両方にて有効化されたフラグのみを持つMessageFlagsインスタンスを返します。

バージョン 2.0 で追加.

x ^ y, x ^= y

x と y のいずれか一方のみにて有効化されたフラグのみを持つMessageFlagsインスタンスを返します。

バージョン 2.0 で追加.

~x

x のすべてのフラグが反転したMessageFlagsインスタンスを返します。

バージョン 2.0 で追加.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

バージョン 2.0 で追加.

バージョン 1.3 で追加.

value

生の値。この値は、現在使用可能なフラグを表す 53 ビット整数のビット配列フィールドです。フラグの取得には、この生の値ではなくプロパティを使用すべきです。

int

crossposted

メッセージがクロスポスト元のメッセージである場合に True を返します。

bool

is_crossposted

メッセージが他のチャンネルよりクロスポストされた場合に True を返します。

bool

suppress_embeds

メッセージの埋め込みが抑制された場合に True を返します。

bool

source_message_deleted

クロスポスト元のメッセージが削除された場合に True を返します。

bool

urgent

元メッセージが緊急メッセージの場合に True を返します。

緊急メッセージはDiscord Trust and Safetyにより送信されます。

bool

has_thread

元メッセージがスレッドに紐づいている場合に True を返します。

バージョン 2.0 で追加.

bool

ephemeral

元メッセージが一時的な場合に True を返します。

バージョン 2.0 で追加.

bool

loading

メッセージがインタラクションの応答で、ボットが「考え中」の場合に True を返します。

バージョン 2.0 で追加.

bool

failed_to_mention_some_roles_in_thread

メッセージがロールをメンションし、そのメンバーをスレッドに追加するのに失敗した場合に True を返します。

バージョン 2.0 で追加.

bool

suppress_notifications

メッセージがプッシュ通知やデスクトップ通知を送信しない場合は True を返します。

バージョン 2.2 で追加.

bool

silent

suppress_notifications のエイリアス。

バージョン 2.2 で追加.

bool

voice

メッセージがボイスメッセージの場合に True を返します。

バージョン 2.3 で追加.

bool

PublicUserFlags

class discord.PublicUserFlags(**kwargs)

Discordユーザーの公開フラグをまとめます。

x == y

公開ユーザーフラグが等しいか確認します。

x != y

公開ユーザーフラグが等しくないか確認します。

x | y, x |= y

x と y のどちらかにて有効化されたフラグを持つPublicUserFlagsインスタンスを返します。

バージョン 2.0 で追加.

x & y, x &= y

x と y の両方にて有効化されたフラグのみを持つPublicUserFlagsインスタンスを返します。

バージョン 2.0 で追加.

x ^ y, x ^= y

x と y のいずれか一方のみにて有効化されたフラグのみを持つPublicUserFlagsインスタンスを返します。

バージョン 2.0 で追加.

~x

x のすべてのフラグが反転したPublicUserFlagsインスタンスを返します。

バージョン 2.0 で追加.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。エイリアスは含まれません。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

バージョン 2.0 で追加.

バージョン 1.4 で追加.

value

生の値。この値は、現在使用可能なフラグを表す 53 ビット整数のビット配列フィールドです。フラグの取得には、この生の値ではなくプロパティを使用すべきです。

int

staff

ユーザーがDiscord従業員の場合 True を返します。

bool

partner

ユーザーがDiscordパートナーの場合 True を返します。

bool

hypesquad

ユーザーがHypeSquad Eventsメンバーの場合 True を返します。

bool

bug_hunter

ユーザーがバグハンターの場合 True を返します。

bool

hypesquad_bravery

ユーザーがHypeSquad Braveryメンバーの場合 True を返します。

bool

hypesquad_brilliance

ユーザーがHypeSquad Brillianceメンバーの場合 True を返します。

bool

hypesquad_balance

ユーザーがHypeSquad Balanceメンバーの場合 True を返します。

bool

early_supporter

ユーザーが早期サポーターの場合 True を返します。

bool

team_user

ユーザーがチームユーザーの場合は True を返します。

bool

system

ユーザーがシステムユーザー(Discordを公式に代表するもの)の場合 True を返します。

bool

bug_hunter_level_2

ユーザーがバグハンターレベル2の場合 True を返します。

bool

verified_bot

ユーザーが認証済みボットの場合 True を返します。

bool

verified_bot_developer

ユーザーが早期認証Botデベロッパーの場合 True を返します。

bool

early_verified_bot_developer

verified_bot_developer のエイリアス。

バージョン 1.5 で追加.

bool

discord_certified_moderator

ユーザーがDiscord認定モデレーターの場合 True を返します。

バージョン 2.0 で追加.

bool

bot_http_interactions

ユーザーがHTTPインタラクションのみを使用するボットでオンラインメンバーリストに表示されている場合 True を返します。

バージョン 2.0 で追加.

bool

spammer

ユーザーがDiscordによりスパマーとフラグ付けされている場合 True を返します。

バージョン 2.0 で追加.

bool

active_developer

ユーザーがアクティブな開発者の場合に True を返します。

バージョン 2.1 で追加.

bool

all()

List[UserFlags]: ユーザーが持つすべての公開フラグを返します。

MemberFlags

class discord.MemberFlags(**kwargs)

Discord ギルドメンバーのフラグをまとめます。

バージョン 2.2 で追加.

x == y

二つのMemberFlagsが等しいかを比較します。

x != y

二つのMemberFlagsが等しいものではないか比較します。

x | y, x |= y

x と y のどちらかにて有効化されたフラグを持つMemberFlagsインスタンスを返します。

x & y, x &= y

x と y の両方にて有効化されたフラグのみを持つMemberFlagsインスタンスを返します。

x ^ y, x ^= y

x と y のいずれか一方のみにて有効化されたフラグのみを持つMemberFlagsインスタンスを返します。

~x

x のすべてのフラグが反転したMemberFlagsインスタンスを返します。

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。エイリアスは含まれません。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

value

生の値。この値を使用するのではなく、プロパティ経由でフラグを取得すべきです。

int

did_rejoin

メンバーが guild を一度脱退し、再参加した場合に True を返します。

bool

completed_onboarding

メンバーがオンボーディングを完了した場合に True を返します。

bool

bypasses_verification

メンバーがギルドの認証要件をバイパスできる場合に True を返します。

bool

started_onboarding

メンバーがオンボーディングを開始した場合に True を返します。

bool

AttachmentFlags

Attributes
class discord.AttachmentFlags(**kwargs)

Wraps up the Discord Attachment flags

バージョン 2.4 で追加.

x == y

Checks if two AttachmentFlags are equal.

x != y

Checks if two AttachmentFlags are not equal.

x | y, x |= y

Returns a AttachmentFlags instance with all enabled flags from both x and y.

x & y, x &= y

Returns a AttachmentFlags instance with only flags enabled on both x and y.

x ^ y, x ^= y

Returns a AttachmentFlags instance with only flags enabled on only one of x or y, not on both.

~x

Returns a AttachmentFlags instance with all flags inverted from x.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。エイリアスは含まれません。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

value

生の値。この値を使用するのではなく、プロパティ経由でフラグを取得すべきです。

int

clip

Returns True if the attachment is a clip.

bool

thumbnail

Returns True if the attachment is a thumbnail.

bool

remix

Returns True if the attachment has been edited using the remix feature.

bool

RoleFlags

Attributes
class discord.RoleFlags(**kwargs)

Wraps up the Discord Role flags

バージョン 2.4 で追加.

x == y

Checks if two RoleFlags are equal.

x != y

Checks if two RoleFlags are not equal.

x | y, x |= y

Returns a RoleFlags instance with all enabled flags from both x and y.

x & y, x &= y

Returns a RoleFlags instance with only flags enabled on both x and y.

x ^ y, x ^= y

Returns a RoleFlags instance with only flags enabled on only one of x or y, not on both.

~x

Returns a RoleFlags instance with all flags inverted from x.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。エイリアスは含まれません。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

value

生の値。この値を使用するのではなく、プロパティ経由でフラグを取得すべきです。

int

in_prompt

Returns True if the role can be selected by members in an onboarding prompt.

bool

SKUFlags

class discord.SKUFlags

Wraps up the Discord SKU flags

バージョン 2.4 で追加.

x == y

Checks if two SKUFlags are equal.

x != y

Checks if two SKUFlags are not equal.

x | y, x |= y

Returns a SKUFlags instance with all enabled flags from both x and y.

x & y, x &= y

Returns a SKUFlags instance with only flags enabled on both x and y.

x ^ y, x ^= y

Returns a SKUFlags instance with only flags enabled on only one of x or y, not on both.

~x

Returns a SKUFlags instance with all flags inverted from x.

hash(x)

フラグのハッシュ値を返します。

iter(x)

(name, value) ペアのイテレータを返します。これにより、例えば、辞書型やペアのリストに変換できます。エイリアスは含まれません。

bool(b)

何らかのフラグが True に設定されているかどうかを返します。

value

生の値。この値を使用するのではなく、プロパティ経由でフラグを取得すべきです。

int

available

Returns True if the SKU is available for purchase.

bool

guild_subscription

Returns True if the SKU is a guild subscription.

bool

user_subscription

Returns True if the SKU is a user subscription.

bool

ForumTag

Attributes
class discord.ForumTag(*, name, emoji=None, moderated=False)

ForumChannel 内のスレッドに適用できるフォーラムタグを表します。

バージョン 2.1 で追加.

x == y

二つのフォーラムタグが等しいかを比較します。

x != y

二つのフォーラムタグが等しいものではないか比較します。

hash(x)

フォーラムタグのハッシュ値を返します。

str(x)

フォーラムタグの名前を返します。

id

タグの ID です。これが手動で作成された場合、ID は 0 になります。

int

name

タグ名。最大20文字までです。

str

moderated

manage_threads 権限を有するモデレータのみ、タグを追加除去できるか。

bool

emoji

このタグを表すために使用される絵文字。絵文字がカスタム絵文字の場合、名前情報は 提供されません

Optional[PartialEmoji]

例外

以下の例外がライブラリにより送出されます。

exception discord.DiscordException

discord.py の基本例外クラス

理想的には、このライブラリから発生した例外をすべて処理するために、これを捕捉することができます。

exception discord.ClientException

Client での操作が失敗したときに送出される例外。

これらは通常、ユーザー入力によって発生した例外です。

exception discord.LoginFailure

Client.login() 関数が不適切な認証情報またはその他の問題によりログインに失敗した場合に送出する例外。

exception discord.HTTPException(response, message)

HTTPリクエスト操作に失敗したときに発生する例外です。

response

失敗したHTTPリクエストのレスポンス。これは aiohttp.ClientResponse のインスタンスです。場合によっては、 requests.Response になるかもしれません。

aiohttp.ClientResponse

text

エラーのテキスト。空文字列である可能性があります。

str

status

HTTP リクエストのステータスコード。

int

code

失敗したときのDiscord固有のエラーコード。

int

exception discord.RateLimited(retry_after)

ステータスコード429が発生し、タイムアウトが Clientmax_ratelimit_timeout パラメータで指定された最大値を超えた場合に送出される例外。

これは、グローバルのレート制限では発生しません。

リクエストが実際に行われる前に送出されることがあるため、これは HTTPException をサブクラス しません

バージョン 2.0 で追加.

retry_after

リクエストを再試行する前にクライアントが待機すべき秒数。

float

exception discord.Forbidden(response, message)

ステータスコード403が発生したときに発生する例外です。

HTTPException のサブクラス

exception discord.NotFound(response, message)

ステータスコード404が発生したときに発生する例外です。

HTTPException のサブクラス

exception discord.DiscordServerError(response, message)

500番台のステータスコードが発生したときに発生する例外です。

HTTPException のサブクラス。

バージョン 1.5 で追加.

exception discord.InvalidData

ライブラリがDiscordから不明または無効なデータに遭遇した場合に発生する例外です。

exception discord.GatewayNotFound

Discordのゲートウェイが見つからなかったときに発生する例外です。

exception discord.ConnectionClosed(socket, *, shard_id, code=None)

内部で処理できなかった理由でゲートウェイ接続が閉じられたときに送出される例外。

code

WebSocketのクローズコード。

int

reason

切断の理由。

str

shard_id

該当する場合、閉じられたシャードID。

Optional[int]

exception discord.PrivilegedIntentsRequired(shard_id)

ゲートウェイが特権インテントを要求しているが、開発者ページではまだ有効にされていない場合に発生する例外です。

https://discord.com/developers/applications/ にアクセスし、必要なインテントを有効にします。現在、これらは以下の通りです。

shard_id

該当する場合、閉じられたシャードID。

Optional[int]

exception discord.InteractionResponded(interaction)

InteractionResponse を用いてインタラクションに応答しようとしたときに、すでに応答があった場合に送出される例外。

インタラクションは一度だけ応答します。

バージョン 2.0 で追加.

interaction

すでに応答されたインタラクション。

Interaction

exception discord.opus.OpusError(code)

libopus 関連のエラーに対して送出される例外。

code

返されたエラーコード。

int

exception discord.opus.OpusNotLoaded

libopus がロードされていないときに送出される例外。

例外の階層構造