Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kojira/nostify
https://github.com/kojira/nostify
discord-bot nostr
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/kojira/nostify
- Owner: kojira
- License: mit
- Created: 2023-02-15T15:58:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-29T03:44:45.000Z (10 months ago)
- Last Synced: 2024-02-12T19:03:48.387Z (9 months ago)
- Topics: discord-bot, nostr
- Language: Python
- Homepage:
- Size: 124 KB
- Stars: 8
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nostr-japan - Nostify - Nostrのリレーサーバーに接続して、discordに投稿するdiscord bot by [kojira](https://github.com/kojira) (Bots)
README
# Nostify
[Nostr](https://github.com/nostr-protocol/nips)のリレーサーバーに接続して、discordに投稿するdiscord botのソースコードです。
## bot導入url
https://discord.com/oauth2/authorize?client_id=1075832263146737685&permissions=0&scope=bot
## 起動方法
リポジトリをクローンします。
```sh
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
```以下のコマンドで実行。
```sh
docker compose up -d
```## commands
|command|function|
|--|--|
|/filter|npubで始まる文字列を指定するとNostr上に新たに該当の投稿を見つけるとコマンドを実行したチャンネルに投稿する。現状指定できるのは投稿者の公開鍵のみ。|
|/help|ヘルプコマンドを表示|## 設定
### 設定ファイル
`common/config.yml` が設定ファイルです。
現状はリレーサーバーの設定のみです。
デフォルトで以下のものを入れてあります。```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
- [x] 設定したフィルタを削除する機能
- [x] フィルタの設定状況を確認する機能
- [x] キーワード指定できるようにしてcontentの内容が一致したら投稿する機能
- [ ] 過去ログを検索できる機能
- [ ] 投稿内容に含まれるurlをチェックしてContent-Typeを付加情報として保存する
- [ ] リポストを取得できるようにする
- [ ] kind 1以外のフィルタも指定できるようにする
- [ ] Eventの統計情報をグラフ表示する機能
- [ ] kind 0のリクエストを減らすため、ユーザーテーブルを作ってキャッシュする