Skip to content

Commit

Permalink
Merge pull request #21 from ujex256/develop
Browse files Browse the repository at this point in the history
Release 2.0.0
  • Loading branch information
ujex256 authored Jul 18, 2024
2 parents 99ac7db + 096109c commit e950b8a
Show file tree
Hide file tree
Showing 25 changed files with 2,416 additions and 435 deletions.
10 changes: 10 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
root = true

[*]
end_of_line = lf
insert_final_newline = true

[*.py]
indent_style = space
indent_size = 4
charset = utf-8
7 changes: 5 additions & 2 deletions sample.env → .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ HOST=misskey.example.com
SECRET_TOKEN=misskey_token

CONFIG_DIR=./config
DB_TYPE=redis
DB_URL=redis://localhost:6379

RUN_SERVER=false
DB_TYPE=pickle
DB_URL=ssss
SERVER_HOST=0.0.0.0
SERVER_PORT=8000
14 changes: 9 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
# venv
env/

# cache
__pycache__
/a.json
/test.py
.pytest_cache

# private
*.env
.pytest_cache
!sample.env
data/users.pickle
ngWords.txt

# vscode
.vscode/*
!.vscode/settings.json

ngWords.txt
*.rdb
10 changes: 8 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
{
"cSpell.words": [
"dotenv"
"coloredlogs",
"dotenv",
"levelname",
"misskey",
"renote",
"websockets"
],
"python.testing.unittestEnabled": false,
"python.testing.pytestEnabled": true
"python.testing.pytestEnabled": true,
"python.envFile": ""
}
65 changes: 39 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,54 @@
# Misskey-WelcomeBot
<div align="center">

## Misskey-WelcomeBot
<img src="https://s3.arkjp.net/misskey/webpublic-1c253796-7dc4-4d54-8367-ad2259693ce7.png" height="125" alt="Logo" />
<img src="https://raw.github.com/ujex256/Misskey-Welcomebot/images/webbot2.png" alt="Logo" />

---
MisskeyのようこそBotのリポジトリです。
</div>

~~注意:これはReplitでの動作を想定しています。replit以外で動作させる場合は(branch name)を使用してください。~~
replitはダウンタイムが多すぎるので切り捨てました()

## 何のBot?
ローカルタイムライン(TL)に流れてきた初ノートにリアクションをつけたりリノートします。
(APIへのリクエストを削減するために、DB(redis)にユーザーIDを保存しています。)

タイムラインに流れてきた新規ユーザーのノートにリアクションをつけたり、リノートします。

条件
- 投稿したユーザーのノート数が1(初ノート)
- 投稿したユーザーの合計ノート数が1である(初投稿)
- NGワードが含まれていない
<br /><br />

## 設定
1. `sample.env`の名前を`.env`に変更し、中を編集します。

### 1. `env.example`の名前を`.env`に変更し、中を編集します

```dotenv
HOST=misskey.io # host
SECRET_TOKEN=token # misskeyのtoken
CONFIG_DIR=./config # configフォルダを指定
RUN_SERVER=False # サーバーを建てるならTrue
DB_TYPE=redis # redisかpickleで指定
DB_URL=redis://dw # redisならurlを入力(pickleなら不要)
HOST=misskey.example.com # Misskeyのホスト(misskey.ioなど)
SECRET_TOKEN=token # Misskeyのtoken
DB_TYPE=redis
DB_URL=redis://dw # RedisのURLを入力
```

2. response.jsonの編集
環境変数一覧
| 変数名 || 必須 | 内容 | デフォルト |
|---|---|:---:|---|---|
| HOST | str | :heavy_check_mark: | Misskeyのホスト | |
| SECRET_TOKEN | str | :heavy_check_mark: | Misskey APIのトークン | |
| DB_TYPE | str | | 投稿したことがあるユーザーを<br />キャッシュさせるDBの種類(今はredisのみ) | redis |
| DB_URL | str(RedisDsn) | | DB_TYPEがredisの場合に指定してください | |
| RUN_SERVER | bool | | pingサーバーを起動するか<br />(UptimeRobotなどの監視用) | false |
| SERVER_HOST | str(IPvAnyAddress) | | pingサーバーを起動するホスト | 0.0.0.0 |
| SERVER_PORT | str | | pingサーバーを起動するポート | 8000 |
| CONFIG_DIR | str(directory path) | | configディレクトリを変更する場合のパス | ./config |


### 2. response.jsonの編集

このファイルはconfigディレクトリに保存してください。
`keywords`にトリガーとなるキーワードを**配列**で指定してください。

`emoji`に反応する絵文字の一覧を指定してください。ここは配列か文字列にしてください。配列の場合はランダムで選択します。
otherにはトリガーにあてはまらなかった場合の絵文字を指定してください。
`emoji`に反応する絵文字の一覧を配列か文字列で指定してください。配列の場合はランダムで選択されます。

トリガーにあてはまらなかった場合は`other`に指定された絵文字がランダムで選択されます。

例:
```json
{
Expand All @@ -49,10 +61,7 @@ otherにはトリガーにあてはまらなかった場合の絵文字を指定
"keywords": ["与謝野晶子"],
"emoji": [
":yosano_akiko_is_always_watching_you:",
":yosano_akiko:",
":yosano_party:",
":petthex_yosano_akiko:",
":youseino_akiko:"
":yosano_akiko:"
]
}
],
Expand All @@ -61,18 +70,22 @@ otherにはトリガーにあてはまらなかった場合の絵文字を指定
":youkoso_send_money:",
":send_money:",
":welcome_to_underground:",
":supertada:",
":supertada:"
]
}
```

3. NGワードの設定
### 3. NGワードの設定

configディレクトリにngwords.txtを作成します。
NGワードを記述します。

書式
- 除外するワードは-をつけてから書きます(スペースはつけない)
- 除外するワードは-をつけてから書きます(スペースをつけてもOK)
- #から始めるとコメントになります。

4. keep_alive.pyを起動
### 4. keep_alive.pyを起動

```sh
python src/keep_alive.py
```
Loading

0 comments on commit e950b8a

Please sign in to comment.