ドキュメント
Octeraはスラッシュコマンド(/command)と、サーバーのプレフィックス(既定は.)を使うテキストコマンドの両方に対応しています。ほぼすべての設定はWebダッシュボードからも変更できます。
.help <command>(例: .help ban、.help eco)と入力すると、コマンドの説明と実際の使用例が表示されます。.help <category> ならカテゴリ全体を確認できます。<command> help も引き続き使えます。Premiumサーバーの場合:ダッシュボードのPremiumページ(サイドバー → 設定)で、そのサーバーのサブスクリプションをひと目で確認できます。プラン、更新日、支払っている人まで表示され、アップグレードと管理のボタンも同じ場所にあります。
プレフィックス & ヘルプ
.help timeout/prefix set: ?/disable economy music warnモデレーション
/timeout @user 10m spammingallはチャンネルを空にし(量が多い場合は消し終わるまでチャンネルをロックします)、数値を指定するとその件数だけ直近のメッセージを削除、期間(例:7d、2mo)を指定するとその範囲を削除します。ユーザーを指定すると、その人のメッセージだけを削除します。注意:Discordの仕様上、Botは14日より古いメッセージを一括削除できません。.purge 50 · .purge 2mo · .purge allセキュリティ
/security let-in @friend/lockdown end で解除し、すべて元に戻します。/lockdown allヒート追跡、レイド & 参加ゲートのフィルター、認証とキャプチャは、ダッシュボードで設定します。
レベリング
経済
.gamesもショートカットとして引き続き使えます。).buy lucky coin 3ロール & メンバー
/role add roles:@VIP @Booster user:@someone duration:7d自動化
Automations(ダッシュボード → Utilities → Automations)は「こうなったら、こうする」というルールです。トリガー(メッセージの投稿、リアクションの追加、メンバーの参加、ロールの付与または剥奪)を選び、任意で条件(チャンネル、ロール、キーワード、アカウント作成からの日数)を加え、最大10個のアクションを順番に実行します。メッセージ・埋め込み・DMの送信、ロールの付与・剥奪、リアクション、メッセージの削除、スレッドの作成などが可能です。Welcomer、Keyword auto-reply、Auto-thread といったすぐ使えるテンプレートから始められます。1サーバーにつき最大50件まで、無料です。
Auto Send(ダッシュボード → Utilities → Auto Send)は、一定の間隔で、または毎日決まったUTC時刻に、同じメッセージを繰り返し投稿します。実行する曜日を選び、任意で送信できる時間帯を設定し、フラッド制御(Botの直前のメッセージがまだ最新のときは送信をスキップ)をオンにしたり、埋め込みとして送ったりできます。
誕生日
MM-DDまたはYYYY-MM-DDの形式で。年齢も祝ってほしい場合は年を入れてください。/birthday set 10-12 · /birthday set 1993-12-16ダッシュボード(ユーティリティ → 誕生日)でお祝いをオンにします: チャンネルを選び、メッセージをカスタマイズし、必要ならその日限定の誕生日ロールを付与できます。
実績
設定はダッシュボードの実績から。機能をオンにすると出来合いのスターターセットが手に入り、そこに自分の実績を追加できます。単発でも、ブロンズ → ダイヤモンドの段階式でも設定でき、対象はメッセージ、リアクション、通話時間、スレッド、ブースト、ギブアウェイ参加、ショップでの購入、誕生日まで。それぞれにロール報酬と解除アナウンスを付けられます。
招待
/invites user member: @friendダッシュボード(招待)で調整できます: 作成直後のアカウントを不正として無視し、招待数の節目で報酬ロールを自動付与します。
ギブアウェイ
/giveaway createのウィザードを使ってください。/giveaway start duration: 1d prize: Nitro winners: 2ダッシュボードのギブアウェイエディターなら、さらに細かく設定できます。開催の予約や繰り返し、参加条件やボーナス応募の設定、当選者へのロール付与、埋め込みのカスタマイズ、プリセットの保存まで。
チケット
チケットのパネルはダッシュボード(Ticketsモジュール)で作成します。メンバーはパネルのボタンからチケットを開き、スタッフが担当してクローズします。クローズ時にはトランスクリプトが保存・投稿され、ブラウザで読めるView Online Transcriptリンクが付きます。
ユーティリティ
/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でも再生できません。音声が暗号化されているためです。代わりに曲名を送ってください。
.queue や .pause といった昔ながらのプレフィックスも引き続き使えます。)翻訳
言語が違うメンバー同士でも、同じチャンネルで会話できます。特別なことは何も必要ありません。読みたい人がそのメッセージに自分の言語の国旗でリアクションすると、Octeraがその言語の訳をすぐ下に投稿します。
/translate text text: where is the meeting to: Spanish/translate live from: Chinese to: English国旗リアクション。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が画像を保存して恒久的なリンクを使うので、いつまでも表示され続けます。
知っておきたいこと
- 存在しない変数はエラーにならず、いちばん近いものに解決されます。表示がおかしいときは、上の表とつづりを見比べてください。
- 変数はメッセージ送信時に置き換えられるため、ダッシュボードのプレビューには
{name}の文字がそのまま表示されます。 - タグとカスタムコマンドは、この上にロジックを重ねられます。詳しくはタグコマンドを作るをご覧ください。
サーバー運営で知っておきたいDiscordのクセ
Discordには、壊れているように見えて実はそうではない挙動がいくつかあります。ほとんどのサーバーオーナーが一度は引っかかるものです。いずれもOcteraが原因ではなく、直し方はすべてDiscord側の設定にあります。
ユーザー名の色がおかしい
Discordは、色が設定されている最も高いロールで名前に色を付けます。デフォルト(色なし)のロールは読み飛ばされる仕様なので、メンバーリストで自分を別枠に見せるために上位へ置いている色なしロールは、色を下位のロールに譲ることになります。
うまくいかないこともあります。Discordは、ロールが色なしと表示されたあとも古い色のデータを保持し続けるため、名前の色が誤ったまま固定されてしまうのです。
Discordにロールを読み直させる手順:
- サーバー設定 → ロールを開いて対象のロールを選び、表示へ進みます。
- 単色に設定し、目に見える色を選んで保存します。
- 同じロールをもう一度開き、デフォルト(色なし)に戻して、あらためて保存します。
- Ctrl + Rを押してDiscordを再読み込みします。
これでそのロールは本当に「色なし」として扱われます。位置は最上部のままでメンバーも別枠で表示され続け、名前の色はその下にある色付きロールが引き継ぎます。
自分の名前の横からオーナーの王冠が消えた
自分のロールのどれかで、次の2つが同時にオンになっていると王冠が消えます:
- 管理者権限、そして
- ロールのメンバーをオンラインのメンバーとは別に表示。
自分のロールを別枠表示のまま上位に保ち、王冠を取り戻すには:
- サーバー設定 → ロールを開き、メンバーリストに個別表示している自分のロールを選びます。
- そのロールのAdministratorをオフにし、Display role members separatelyはオンのままにします。
- Ctrl + Rを押してDiscordを再読み込みします。
ガイド:タグコマンドの作り方
タグは、自分で書けるプレフィックス付きのカスタムコマンドで、動かしているのは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}}