Giter Club home page Giter Club logo

discord-reminderbot's Introduction

このBotについて

機能

/remind-list

  • ギルドで使用すると、自分がそのギルドで登録したリマインドを表示します
  • BotとのDMで使用すると、自分が登録したリマインドを表示します
  • オプション
    • status
      • 実行予定のリマインドリスト(デフォルトと同じ)
        • 今後リマインドされるリストを表示します
      • キャンセルしたリマインドリスト
        • キャンセルされたリマインドリストを表示します
      • 終了したリマインドリスト
        • リマインドしたリストを表示します
    • reply_is_hidden
      • 自分のみ
        • 実行結果は自分だけ見ることができます
      • 全員に見せる
        • 実行結果はBotからのリプライとして表示されます

/remind-make

  • リマインドを登録します(登録したリマインドが今は表示されます)
    • 秘密なリマインドはコレで登録せず、ご自身のカレンダーやTODOへ登録するようにしてください
  • 必須のオプション(3つ)
    • date(リマインド日時)
      • mm/dd形式
      • 日数でも登録できる(0で当日、1で1日後)
      • yyyy/mm/dd形式で年も含めて登録
      • mm-dd形式もOK(yyyy-mm-dd形式もOK)
    • time(リマインド時間)
      • hh:mi形式(例→23:12)
      • xxh(xx時間後という意味。例→10h)
      • xxmi(xx分後という意味。例→10mi)
    • message(メッセージ)
      • リマインドするメッセージ
      • メンションしたい場合、通常のメッセージと同様に、@xxxx形式で入力してください(リマインド時にメンションされます)
  • オプション
    • repeat_interval(繰り返し間隔)
      • XX分: XXmi
      • XX時間: XXh
      • X日: Xd
      • Xヶ月: Xm
      • X年: Xy
        • Xは数字(例→10mi)
        • 通知した後、上記で指定しただけ遅らせた年月で通知するリマインドを作成します
    • repoeat_max_count(繰り返し最大回数)
      • 数字を設定
      • 例→2としたら、1回目の通知の後に繰り返し間隔だけ遅らせたリマインドが作成されます。2回目を通知し、それ以降は通知されません
        • 具体例: /remind-make date:2021/3/26 time:21:00 message:@here test!!! repeat_interval:2d repeat_max_count:2
          • 2021/3/26 21:00に「@here test!!!」が通知され、2回目として2021/3/28 21:00に「@here test!!!(2)」が通知されます
          • 2回目以降は勝手に、メッセージに連番をふります
        • 追加で通知したい場合は別途リマインドを作成してください
    • channel(リマインドするチャンネル)
      • #xxxxで指定したチャンネルにリマインドします
      • そのままチャンネル名を指定することもできます
      • このオプションがない場合、コマンドを実行したチャンネルにリマインドします
    • reply_is_hidden
      • 自分のみ
        • 実行結果は自分だけ見ることができます
      • 全員に見せる
        • 実行結果はBotからのリプライとして表示されます

/remind-cancel

  • リマインドをキャンセルします
  • 必須のオプション(1つ)
    • cancel_no(キャンセルするリマインドのNo)
      • 数字
      • あなたが登録したリマインドのNoである必要があります(他人のリマインドはキャンセルできません)
  • オプション
    • reply_is_hidden
      • 自分のみ
        • 実行結果は自分だけ見ることができます
      • 全員に見せる
        • 実行結果はBotからのリプライとして表示されます

/remind-list-guild-all

  • ギルド内のみ、かつ、ギルドの管理者権限保持者のみ使用可能
  • そのギルドで登録されているリマインドをすべて表示します
  • オプション
    • status
      • 実行予定のリマインドリスト
        • 今後リマインドされるリストを表示します
      • キャンセルしたリマインドリスト
        • キャンセルされたリマインドリストを表示します
      • 終了したリマインドリスト
        • リマインドしたリストを表示します
    • reply_is_hidden
      • 自分のみ
        • 実行結果は自分だけ見ることができます
      • 全員に見せる
        • 実行結果はBotからのリプライとして表示されます

/remind-list-all

  • BotとのDMのみ、かつ、Botのオーナーのみ使用可能
  • Botに登録されているリマインドをすべて表示します
  • オプション
    • status
      • 実行予定のリマインドリスト
        • 今後リマインドされるリストを表示します
      • キャンセルしたリマインドリスト
        • キャンセルされたリマインドリストを表示します
      • 終了したリマインドリスト
        • リマインドしたリストを表示します
    • reply_is_hidden
      • 自分のみ
        • 実行結果は自分だけ見ることができます
      • 全員に見せる
        • 実行結果はBotからのリプライとして表示されます

/remind-task-check

  • Botのオーナーのみ使用可能
  • BotのTaskが正常に動いているかチェックする(止まってたらTaskを開始するはず)
  • オプション
    • reply_is_hidden
      • 自分のみ
        • 実行結果は自分だけ見ることができます
      • 全員に見せる
        • 実行結果はBotからのリプライとして表示されます

その他のコマンドは検討中です(リマインドの削除など実装予定)

環境変数

DISCORD_TOKEN

  • あなたのDiscordのトークンを記載(トークンは厳重に管理し、公開されないよう配慮すること!)
  • 例: DISCORD_TOKEN="fdj2iur928u42q4u239858290"

LOG_LEVEL

  • ログレベル(DEBUG/INFO/WARNING/ERROR)
  • 例: LOG_LEVEL="INFO"

ENABLE_SLASH_COMMAND_GUILD_ID_LIST(使用するにはソースの修正が必要です)

  • この環境変数を使用する場合、ソースの修正をしてください
    • それぞれのメソッドにある、@cog_ext.cog_slashのguildsについてのコメントアウトを解除する必要があります
  • スラッシュコマンドを有効にするギルドID(複数ある場合は「;」を間に挟むこと)
    • 1件の場合: ENABLE_SLASH_COMMAND_GUILD_ID_LIST=18471289371923
    • 2件の場合: ENABLE_SLASH_COMMAND_GUILD_ID_LIST=18471289371923;1389103890128390

KEEP_DECRYPTED_FILE

  • 復号されたファイルを残すかどうか(TRUEの時のみ残す。デフォルトでは復号されたファイルは削除される)
  • 例: KEEP_DECRYPTED_FILE=FALSE

IS_HEROKU

  • Herokuで動かすかどうか
    • Herokuの場合、ファイルが削除されるので、discordの添付ファイルを使って保管を試みる(ファイルが削除されていたら、読み込む)
  • 例: IS_HEROKU=FALSE

IS_REPLIT

  • Repl.itで動かすかどうか
    • Repl.itの場合、sqlite3の保管が怪しいので、discordの添付ファイルを使って保管を試みる
  • 例: IS_REPLIT=TRUE

RESTRICT_ATTACHMENT_FILE

  • Bot自身が添付したファイルのみ読み込むように制限するかどうか
    • Bot以外(他のBotや人間)が添付したファイルのみを読み込むようになります
  • 例: RESTRICT_ATTACHMENT_FILE=TRUE

PRIORITY_GUILD

  • 優先してファイルを添付するギルド(1件のみ指定してください)
    • 権限の問題で、Botがファイル保管に失敗することがあるため、失敗時に添付するギルドを指定できる
  • 例: PRIORITY_GUILD=99999999999

動かし方

  • wikiに書くつもりです(時期未定)
  • わからないことがあればDiscussionsに書いてみてください

前提

  • poetryがインストールされていること
  • .envが作成されていること

動かす

  • 以下のコマンドを実行
poetry run python discord-reminderbot.py

discord-reminderbot's People

Contributors

tetsuya-ki avatar p-yon-kity avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.