Nostrのリレーサーバーに接続して、discordに投稿するdiscord botのソースコードです。
https://discord.com/oauth2/authorize?client_id=1075832263146737685&permissions=0&scope=bot
リポジトリをクローンします。
git clone https://github.com/kojira/nostify.git
cd nostify
cp .env.example .env
cp ./bot/.env.example ./bot/.env
./bot/.env
の環境変数を適切な値に編集します。
BOT_TOKEN=replace your bot token
BOT_APPLICATION_ID=replace your bot application id
ADMIN_GUILD=admin guild id
以下のコマンドで実行。
docker compose up -d
command | function |
---|---|
/filter | npubで始まる文字列を指定するとNostr上に新たに該当の投稿を見つけるとコマンドを実行したチャンネルに投稿する。現状指定できるのは投稿者の公開鍵のみ。 |
/help | ヘルプコマンドを表示 |
common/config.yml
が設定ファイルです。
現状はリレーサーバーの設定のみです。
デフォルトで以下のものを入れてあります。
relay_servers:
- "wss://relay-jp.nostr.wirednet.jp"
- "wss://relay.damus.io"
- "wss://relay.nostr.wirednet.jp"
- "wss://nostr.h3z.jp"
- "wss://relay.snort.social"
- "wss://nostr-pub.wellorder.net"
- "wss://relay.current.fyi"
- "wss://nos.lol"
http://127.0.0.1:8080 からPHPMyAdminが使えます。 ng_wordsテーブルに指定したキーワードが含まれるNoteを無視するようになります。 statusは0で有効、0以外で無効です。
- 設定したフィルタを削除する機能
- フィルタの設定状況を確認する機能
- キーワード指定できるようにしてcontentの内容が一致したら投稿する機能
- 過去ログを検索できる機能
- 投稿内容に含まれるurlをチェックしてContent-Typeを付加情報として保存する
- リポストを取得できるようにする
- kind 1以外のフィルタも指定できるようにする
- Eventの統計情報をグラフ表示する機能
- kind 0のリクエストを減らすため、ユーザーテーブルを作ってキャッシュする