ドキュメント

Octeraはスラッシュコマンド(/command)と、サーバーのプレフィックス(既定は.)を使うテキストコマンドの両方に対応しています。ほぼすべての設定はWebダッシュボードからも変更できます。

ヒント: .help <command>(例: .help ban、.help eco)と入力すると、コマンドの説明と実際の使用例が表示されます。.help <category> ならカテゴリ全体を確認できます。<command> help も引き続き使えます。

Premiumサーバーの場合:ダッシュボードのPremiumページ(サイドバー → 設定)で、そのサーバーのサブスクリプションをひと目で確認できます。プラン、更新日、支払っている人まで表示され、アップグレードと管理のボタンも同じ場所にあります。

プレフィックス & ヘルプ

/help [query]
カテゴリ別のコマンドメニュー。コマンド名を渡せば使い方+例を、カテゴリ名を渡せばその一覧を表示します。
例:.help timeout
/prefix [set]
テキストコマンドのプレフィックスを表示・変更します(サーバー管理権限)。
例:/prefix set: ?
/enable & /disable <targets>
モジュールやコマンドをまとめてオン・オフできます。
例:/disable economy music warn

モデレーション

/warn @user [reason]
メンバーに警告します。エスカレーションポイントを加算し、記録を残します。
/timeout @user <duration> [reason]
メンバーを一時的にミュートします。
例:/timeout @user 10m spamming
/kick · /ban · /unban
標準的なモデレーション。すべてケースとして記録されます。
/case [id|@user]
特定の記録、またはメンバーの全履歴を表示します。
/modlog
モデレーションログのチャンネルを設定します。
/unbanall run
保護ブラックリストを除く全員のBANを一括解除します。
/unbanall blacklist add|remove|list
保護リストを管理します — 一括BAN解除が絶対に触れないユーザーです。
/purge <all | number | time span> [@user]
メッセージを一括削除します。allはチャンネルを空にし(量が多い場合は消し終わるまでチャンネルをロックします)、数値を指定するとその件数だけ直近のメッセージを削除、期間(例:7d、2mo)を指定するとその範囲を削除します。ユーザーを指定すると、その人のメッセージだけを削除します。注意:Discordの仕様上、Botは14日より古いメッセージを一括削除できません。
例:.purge 50 · .purge 2mo · .purge all

セキュリティ

/security
アンチニューク、隔離ロール、保護状況の情報。
/quarantine @user · /release @user
メンバーのロールを剥奪して隔離、または元に戻します。
/security panic on|off
緊急ロックダウン — チャンネルのロックや、新規参加者の隔離を行います。
/security let-in @user · let-in-remove @user · let-in-list
参加フィルター、参加レイドによるキック、認証をすべて素通りさせて、誰かをそのまま参加させます。作ったばかりのアカウントで来る友達などに便利です。同じリストはサーバー参加ページにもあり、参加チェックで誰かが外されたときは、ログのその項目に、その人を参加させるボタンが付きます。
例:/security let-in @friend
/lockdown all|channel|end
すべてのチャンネル(または特定の1つ)をロックして、メンバーがメッセージを送れないようにします — /lockdown end で解除し、すべて元に戻します。
例:/lockdown all

ヒート追跡、レイド & 参加ゲートのフィルター、認証とキャプチャは、ダッシュボードで設定します。

レベリング

/rank [@user]
レベル & XPをランクカードで表示します。
/leaderboard
XPによるトップメンバー。
/xp · /level
管理者向け:メンバーのXPまたはレベルを加算・減算・設定します。
/leveling
レベルアップの通知チャンネルを設定し、他のBotからレベルを取り込みます。

経済

/balance · /bank
ウォレット、銀行、利息。
/deposit · /withdraw · /pay
コインを移動・送金します。
/work · /crime · /rob · /daily
コインを稼ぎます。運(アイテム & トリンケットで上昇)は、/crime、/rob、採集、ルートボックスの確率を高めます。
/farm
操作パネルから農場を管理します。作物を植えて、収穫して、売って、畑を買い足しましょう。
/fish · /hunt · /dig · /search
採集系のミニゲーム。それぞれ独立したクールダウン付きで、コインや売れる品物が手に入ります。
/pet
相棒を迎え、ごはんをあげて、1時間ごとにコインを受け取りましょう。
/trade @user
コインやアイテムのトレードを提案し、相手が承諾か辞退を選びます。
/coinflip · /slots · /blackjack · /roulette · /highlow · /rps · /guess · /dice
コインを賭けて勝負 — カジノゲーム8種。
/economy-info guide|games
経済全体の仕組みと、すべてのカジノゲームおよびその配当を手早く確認できます。(.gamesもショートカットとして引き続き使えます。)
/shop · /buy · /sell · /use · /open
ショップの閲覧(購入ボタン)、アイテムの売買、消費アイテムの使用、ルートボックスの開封。
例:.buy lucky coin 3
/inventory · /collect · /multipliers · /rich
アイテム、収入ロール、有効中のバフ & デバフ、そして資産ランキング。
/eco
管理者向け:コインやショップアイテムの付与・没収、時間制ブーストの付与、利息の実行。
/lootbox
管理用:メンバーが我先にと開ける、サプライズのルートボックスドロップ。今すぐドロップする、自動ドロップのオン/オフ、落ちる頻度と中身(コインまたはXP)の設定ができます。

ロール & メンバー

/role <add|remove> <roles> (user or everyone) [duration]
メンバー1人または全員に、1つ以上のロールを付与・剥奪します。期間を指定すると時間制ロールになり、期限が切れると自動で外れます。
例:/role add roles:@VIP @Booster user:@someone duration:7d
/serverinfo
サーバーの統計 — オーナー、作成日、メンバー数、ロール数、チャンネル数、ブースト数。
/info [@user]
メンバーのアカウント作成日、参加日、ロール、カラーを表示します。
/av [@user]
ユーザーのアイコンをフルサイズで表示します。
/roles
すべてのロールを、IDとともに一覧表示します。
/dump [role]
ロール(またはサーバー全体)に所属するメンバーをファイルに書き出します。
/oldest · /youngest
Discordアカウントが最も古い/最も新しいメンバーを表示します。
/clonecategory · /stylechannels · /cleanroles · /counters
カテゴリを権限ごと複製、チャンネルに絵文字の接頭辞を追加、ロール名の装飾を除去、ライブ統計チャンネルを設置。

自動化

/tag
TagScriptで書くカスタムプレフィックスコマンド。詳しくは下のガイドをご覧ください。
/reactionrole sync|list|convert
ロールメニューを投稿・更新したり、ボタン/ドロップダウン/リアクション絵文字の形式にまとめて変換したりできます。
/embed post|list|copy|color|edit|source
埋め込みのツールを1つのコマンドに集約 — 保存済み埋め込みの投稿や一覧、投稿済み埋め込みのチャンネル間・カテゴリ間コピー、Botが投稿したすべての埋め込みの色変更、生のJSONからの編集、メッセージの埋め込み+本文のJSON取得。
/log list
イベントログの送信先を一覧表示 — ログ自体の設定はダッシュボードで行います。
/stealemoji <emoji> [name]
他のサーバーのカスタム絵文字を、このサーバーに追加します。ダッシュボードのEmojisページでは、アップロード、名前の変更、削除、取り込み、スロット使用状況の確認まで、絵文字一式をまとめて管理できます。

Automations(ダッシュボード → Utilities → Automations)は「こうなったら、こうする」というルールです。トリガー(メッセージの投稿、リアクションの追加、メンバーの参加、ロールの付与または剥奪)を選び、任意で条件(チャンネル、ロール、キーワード、アカウント作成からの日数)を加え、最大10個のアクションを順番に実行します。メッセージ・埋め込み・DMの送信、ロールの付与・剥奪、リアクション、メッセージの削除、スレッドの作成などが可能です。Welcomer、Keyword auto-reply、Auto-thread といったすぐ使えるテンプレートから始められます。1サーバーにつき最大50件まで、無料です。

Auto Send(ダッシュボード → Utilities → Auto Send)は、一定の間隔で、または毎日決まったUTC時刻に、同じメッセージを繰り返し投稿します。実行する曜日を選び、任意で送信できる時間帯を設定し、フラッド制御(Botの直前のメッセージがまだ最新のときは送信をスキップ)をオンにしたり、埋め込みとして送ったりできます。

誕生日

/birthday set <date> [year]
誕生日を登録します。MM-DDまたはYYYY-MM-DDの形式で。年齢も祝ってほしい場合は年を入れてください。
例:/birthday set 10-12 · /birthday set 1993-12-16
/birthday view [@user] · /birthday next
メンバーの誕生日や、このサーバーで次に迎える10人分の誕生日を表示します。
/birthday remove
登録した誕生日を削除します。
/birthday set-user @user <date>
管理者向け:メンバーの誕生日を設定します(サーバー管理権限)。

ダッシュボード(ユーティリティ → 誕生日)でお祝いをオンにします: チャンネルを選び、メッセージをカスタマイズし、必要ならその日限定の誕生日ロールを付与できます。

実績

/achievements [@user]
自分(または他のメンバー)の実績の進捗 — 解除済みの各段階と次の目標が、サーバーの公開実績ページへのリンク付きで表示されます。

設定はダッシュボードの実績から。機能をオンにすると出来合いのスターターセットが手に入り、そこに自分の実績を追加できます。単発でも、ブロンズ → ダイヤモンドの段階式でも設定でき、対象はメッセージ、リアクション、通話時間、スレッド、ブースト、ギブアウェイ参加、ショップでの購入、誕生日まで。それぞれにロール報酬と解除アナウンスを付けられます。

招待

/invites me · /invites user @member
自分(または指定メンバー)の招待数を表示 — 参加・退出・不正の内訳付き。
例:/invites user member: @friend
/invites leaderboard
そのサーバーで招待数の多いメンバーを順位付きで表示します。
/invites who-invited [@member]
誰がそのメンバーを招待したかを確認できます。参加はすべて自動で記録され、通常の招待リンクで動作します。専用の計測リンクは必要ありません。

ダッシュボード(招待)で調整できます: 作成直後のアカウントを不正として無視し、招待数の節目で報酬ロールを自動付与します。

ギブアウェイ

/giveaway start <duration> <prize> [winners]
🎉の参加ボタン、リアルタイムのカウントダウン、自動抽選付きでギブアウェイを開始します。手順に沿って設定したい場合は/giveaway createのウィザードを使ってください。
例:/giveaway start duration: 1d prize: Nitro winners: 2
/giveaway end|reroll|cancel|delete|list
早めに終了する、当選者を選び直す、中止・削除する、直近のギブアウェイを一覧表示する。

ダッシュボードのギブアウェイエディターなら、さらに細かく設定できます。開催の予約や繰り返し、参加条件やボーナス応募の設定、当選者へのロール付与、埋め込みのカスタマイズ、プリセットの保存まで。

チケット

チケットのパネルはダッシュボード(Ticketsモジュール)で作成します。メンバーはパネルのボタンからチケットを開き、スタッフが担当してクローズします。クローズ時にはトランスクリプトが保存・投稿され、ブラウザで読めるView Online Transcriptリンクが付きます。

/close [reason]
現在のチケットをクローズし、トランスクリプトを保存します。
/ticket add|remove|blacklist|unblacklist
スタッフ向け:現在のチケットにメンバーを追加・削除したり、悪用を繰り返す相手のチケット作成をブロックしたりできます。

ユーティリティ

/ping
Botの応答速度。
/poll create|end
メッセージ内でそのまま投票できるDiscordネイティブの投票を作成したり、早めに締め切ったりできます。ダッシュボードの投票ページからも作成でき、選択肢は最大10個、期間の指定や複数選択にも対応します。
/voice rename|limit|lock|unlock|claim
一時ボイスチャンネルを管理します — 名前の変更、人数制限の設定、ロックとロック解除、オーナーが抜けた場合の引き継ぎができます。
例:/voice rename name: Gaming · /voice lock

一時ボイスチャンネル(ダッシュボード → Utilities → Voice)は「参加すると作成」方式です。ハブとなるボイスチャンネルを1つ以上選ぶと、そこに参加したメンバー専用のチャンネルが隣に作られ、誰もいなくなると自動で削除されます。

オペレーター専用:/nuke channels、/nuke category、/restartはメンテナンス用のコマンドで、コード側でBotオペレーターに固定されています。サーバーのスタッフは実行できません。

通知

クリエイターの投稿を通知で受け取れます。ダッシュボード(Socials)で YouTube、Twitch、Kick、TikTok、Reddit(サブレディットの新着投稿)、Podcast(番組のRSSフィードの新エピソード)、任意の Custom RSS の URL のフィードを追加すると、Octeraが新しい動画・投稿・エピソード・配信開始を、選んだチャンネルにカスタムメッセージ付きで投稿します。

音楽

ボイスチャンネルで音楽を再生。キューはすっきり、別のBotを招待する必要もありません。(Premium)

曲名で検索するか、リンクを貼り付けてください。SoundCloud、Bandcamp、ポッドキャスト、インターネットラジオ、音声ファイルの直接URLに対応しています。Octeraはほとんどの音声サイトを読み取り、その曲がどこから来たのかも教えてくれます。

YouTubeは利用できません。YouTubeはホスティング事業者からの再生リクエストをブロックしており、Discord Botはまさにそこで動いています。そのためYouTubeのリンクは再生されず、拒否されます。曲名での検索は引き続き使え、上記のソースから再生されます。SpotifyとApple Musicのリンクは、どのBotでも再生できません。音声が暗号化されているためです。代わりに曲名を送ってください。

/play <song or link>
曲を再生、またはキューに追加します。検索語のほか、Octeraが実際に再生できるサイトのリンクを指定できます。
/skip · /stop
再生中の曲をスキップ、または停止してボイスチャンネルから退出します。
/music join|controls|queue|nowplaying|loop|pause|resume
残りはすべてこの1コマンドに — Botをボイスに呼び、ボタン操作パネルを開き、キューと再生中の曲を確認し、曲やキューをループし、一時停止や再開もできます。(.queue や .pause といった昔ながらのプレフィックスも引き続き使えます。)

翻訳

言語が違うメンバー同士でも、同じチャンネルで会話できます。特別なことは何も必要ありません。読みたい人がそのメッセージに自分の言語の国旗でリアクションすると、Octeraがその言語の訳をすぐ下に投稿します。

/translate text <text> <to> [from]
一度だけ翻訳します。言語名を入力し始めると、対応している言語が候補として表示されます。
例:/translate text text: where is the meeting to: Spanish
/translate live <from> <to>
このチャンネルであなたが話す内容を、停止するか3時間発言がなくなるまで翻訳し続けます。
例:/translate live from: Chinese to: English
/translate off
このチャンネルでの自分の発言の翻訳を停止します。

国旗リアクション。Octeraが認識できる国旗の絵文字でメッセージにリアクションすると、その言語の翻訳が返ってきます。何人が同じ国旗を付けても返信は1回だけで、それ以外の絵文字では何も起きません。

チャンネル全体。ダッシュボードでチャンネルと、そこで話される言語を最大5つまで指定できます。あとはOcteraが各メッセージをどちら向きに訳すべきかを自分で判断するので、スペイン語話者と英語話者はそのまま会話できます。指定した言語のいずれかで書かれたメッセージが、同じ言語で繰り返されることはありません。常に二言語が入り混じるチャンネルに向いた方法で、たまに使う程度なら国旗リアクションのほうがずっと低コストです。

ライブ翻訳。自分の話せない言語の会話に入る人のための機能です。/translate live を一度実行すれば、それ以降に入力した内容がもう一方の言語でも投稿されます。/translate off を実行するか、発言が途切れるまで続きます。サーバーのオーナーはダッシュボードからこの機能をオフにできます。

翻訳は外部の翻訳サービス上で動作するため、サーバー所有者がダッシュボードの翻訳ページで一度だけ設定します。サービスが接続されるまでは、ページにその旨が明示され、翻訳は行われません。同じメッセージの再翻訳はキャッシュから返されるため費用はかからず、サーバー全体で月間の文字数上限を設定できます。

バックアップ

ダッシュボードから、サーバーの構造(ロール、チャンネル、権限、設定)をスナップショットとして保存できます。復元では足りないものだけが作り直され、すでにあるものは削除されません。バックアップにメッセージやチャット履歴が含まれることはありません。

ガイド:メッセージ変数

Octeraがメッセージを書く場所ならどこでも、変数を差し込めます。{name}という短いプレースホルダーが、実際に送信されるときに中身を埋めてくれます。ウェルカムとグッバイのメッセージ、埋め込み、オートレスポンダー、タグ、自動送信、リアクションロールのパネル、チケットのパネルなどで使えて、名前はどこでも同じです。

Welcome {user.mention} to **{server}** — you're member #{server.members}!

ドットでも括弧でも書けます。どちらも同じです: {user.name} = {user(name)}。

メンバー

変数差し込まれる値
{user}そのユーザーの名前
{user.mention}本物の@ping
{user.name}そのユーザーのユーザー名
{user.nick}このサーバーでのニックネーム(未設定ならユーザー名)
{user.id}そのユーザーのDiscord ID
{avatar}そのユーザーのプロフィール画像 — 画像枠やサムネイル枠に差し込めます
{user.color}そのユーザーの名前の色(例: #a93bf0)
{user.top_role}そのユーザーの最上位ロール名
{user.joinstamp}参加した日時(タイムスタンプの数値)
{user.timestamp}アカウントが作成された日時(タイムスタンプの数値)

{target} も同じ仕組みで、コマンド内で最初に@メンションされた相手(いなければ実行した本人)を指します。タグで便利です:{target.mention}、{target.avatar}。

サーバー & チャンネル

変数差し込まれる値
{server}サーバー名
{server.members}メンバー数
{server.ordinal}メンバー数を順位で表示 — 「42nd」
{server.icon}サーバーのアイコン — 画像枠やサムネイル枠に使えます
{server.id}サーバーID
{server.description}サーバーの説明
{channel}チャンネル名
{channel.mention}クリックできる#channelリンク

変数から画像を差し込む

画像・サムネイル・作成者アイコン・フッターアイコンの各スロットには、リンクの代わりに変数を入れられます。だからウェルカムの埋め込みに、新メンバー本人のアバターを表示できます:

ウェルカム埋め込みのサムネイル欄に{avatar}を入れると、参加した本人のアイコンが隅に表示されます。{server.icon}も同じように使えます。

これらの枠には通常のhttps://リンクも指定できますし、パソコンから直接Upload…することもできます。Octeraが画像を保存して恒久的なリンクを使うので、いつまでも表示され続けます。

知っておきたいこと

サーバー運営で知っておきたいDiscordのクセ

Discordには、壊れているように見えて実はそうではない挙動がいくつかあります。ほとんどのサーバーオーナーが一度は引っかかるものです。いずれもOcteraが原因ではなく、直し方はすべてDiscord側の設定にあります。

ユーザー名の色がおかしい

Discordは、色が設定されている最も高いロールで名前に色を付けます。デフォルト(色なし)のロールは読み飛ばされる仕様なので、メンバーリストで自分を別枠に見せるために上位へ置いている色なしロールは、色を下位のロールに譲ることになります。

うまくいかないこともあります。Discordは、ロールが色なしと表示されたあとも古い色のデータを保持し続けるため、名前の色が誤ったまま固定されてしまうのです。

Discordにロールを読み直させる手順:

  1. サーバー設定 → ロールを開いて対象のロールを選び、表示へ進みます。
  2. 単色に設定し、目に見える色を選んで保存します。
  3. 同じロールをもう一度開き、デフォルト(色なし)に戻して、あらためて保存します。
  4. Ctrl + Rを押してDiscordを再読み込みします。

これでそのロールは本当に「色なし」として扱われます。位置は最上部のままでメンバーも別枠で表示され続け、名前の色はその下にある色付きロールが引き継ぎます。

自分の名前の横からオーナーの王冠が消えた

自分のロールのどれかで、次の2つが同時にオンになっていると王冠が消えます:

自分のロールを別枠表示のまま上位に保ち、王冠を取り戻すには:

  1. サーバー設定 → ロールを開き、メンバーリストに個別表示している自分のロールを選びます。
  2. そのロールのAdministratorをオフにし、Display role members separatelyはオンのままにします。
  3. Ctrl + Rを押してDiscordを再読み込みします。
失うものはありません。サーバー所有者はもともとすべての権限を持っているため、個人用のロールにAdministratorは不要です。スタッフ用には、AdministratorをオンにしDisplay role members separatelyをオフにしたAdminロールを別途作成してください。

ガイド:タグコマンドの作り方

タグは、自分で書けるプレフィックス付きのカスタムコマンドで、動かしているのはTagScriptです。変数、条件分岐、計算、ランダム、そして制御ブロック(トリガーを削除する、返信をDMで送る、リアクションを付ける、ロールで制限する、埋め込みを添えるなど)を備えた、小さなテンプレート言語です。メッセージ変数もすべてここで使えます。

タグを作成

/tag(またはダッシュボード → ユーティリティ → タグ)を使います。名前と内容を設定すると、メンバーはあなたのプレフィックスで実行できます(例: .rules)。

/tag name: hello content: Hey {user(mention)}, welcome to {server(name)}! 👋

.helloを実行 → やあ @You、Octeraへようこそ! 👋

変数

メッセージ変数はすべてタグの中でも使えます — {user.mention}、{server}、{avatar}など。タグには、さらに独自のものがあります:

変数得られる値
{args}コマンドの後に入力された内容すべて。{args(1)} = 1つ目の単語、{args(2)} = 2つ目……
{target(mention)}メッセージ内の最初の@メンション(なければ実行者)— {user}と同じ属性が使えます
{uses}そのタグが実行された回数
{unix}現在のUnixタイムスタンプ

ロジック、計算 & ランダム

ブロック動作
{if(a==b):yes|no}条件分岐。演算子:== != > < >= <=
{any(a==b|c==d):yes|no}複数の条件にまたがる any/or と all/and
{math:2*(3+4)}算術演算(+ - * / % ^)
{random:a~b~c}ランダムに1つ選ぶ(~または,で区切ります)
{range:1-100}指定した範囲のランダムな整数
{=(name):value}変数を設定し、あとから{name}で読み出す
{lower} {upper} {replace(a,b):text} {length:text}テキスト補助

制御ブロック(副作用あり)

ブロック効果
{delete}タグを呼び出したメッセージを削除
{dm}返信を実行者のDMに送る
{react:✅,🎉}返信にリアクションを付ける · {reactu:✅}はトリガーにリアクション
{redirect:#channel}返信を別のチャンネルに送る
{require(@Role)} / {blacklist(@Role)}このタグを使えるロール・チャンネルを限定、または禁止
{embed(title):Hi}{embed(description):...}リッチな埋め込みを作成(タイトル、説明、色、画像、サムネイル、フッター、フィールド)
{silent}テキストを送らずに、タグの副作用だけを実行

実例つきの解説

提案ボックス — コマンドを削除し、すっきりした埋め込みをチャンネルに投稿:

{delete}{redirect:#suggestions}{embed(title):💡 Suggestion from {user(name)}}{embed(description):{args}}{embed(color):#a855f7}

コイントスをリアクションで:

{user(mention)} flips… **{random:Heads~Tails}**! {react:🪙}

スタッフ専用のお知らせ — ロールで制限し、DMは送らず、チャンネルに投稿:

{require(@Staff):You can't use this.}{redirect:#announcements}📢 {args}

一人ひとりに合わせたウェルカムをメンション対象で:

{=(msg):Welcome {target(mention)} — you're member #{server(member_count)}!}{if({args}==):Mention someone to welcome them.|{msg}}
タグでできることは、ダッシュボードのMessage TemplatesとAutorespondersを使って、画面上で組み立てることもできます。