kojira / nostify

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nostify

Nostrのリレーサーバーに接続して、discordに投稿するdiscord botのソースコードです。

bot導入url

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

commands

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"

NGワード指定

http://127.0.0.1:8080 からPHPMyAdminが使えます。 ng_wordsテーブルに指定したキーワードが含まれるNoteを無視するようになります。 statusは0で有効、0以外で無効です。

TODO

  • 設定したフィルタを削除する機能
  • フィルタの設定状況を確認する機能
  • キーワード指定できるようにしてcontentの内容が一致したら投稿する機能
  • 過去ログを検索できる機能
  • 投稿内容に含まれるurlをチェックしてContent-Typeを付加情報として保存する
  • リポストを取得できるようにする
  • kind 1以外のフィルタも指定できるようにする
  • Eventの統計情報をグラフ表示する機能
  • kind 0のリクエストを減らすため、ユーザーテーブルを作ってキャッシュする

About

License:MIT License


Languages

Language:Python 68.5%Language:Rust 28.9%Language:Dockerfile 2.6%