Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

《Modify》の辞書ファイルを既存の.txtに加えて.csvにも対応し、空白文字を含むパターンへの対応性を向上します #45

Closed
usagi opened this issue Nov 15, 2023 · 3 comments
Assignees

Comments

@usagi
Copy link
Owner

usagi commented Nov 15, 2023

提案

《Modify》の辞書ファイルを既存の.txtに加えて.csvにも対応し、空白文字を含むパターンへの対応性を向上します

背景

現在は.txtから空白文字で置換基と置換先を区別しています。この方式は簡潔なパターンについては記述が楽という利点があります。しかし、空白文字を含むパターンを使えないことが不便となる場合もあります。例えば !bsr コマンドの応答を簡素化したい場合など。

使い方

《Modify》の設定で regex_files に従来から対応している .txt ファイルと同様に .csv ファイルを指定するだけで使用できます。

設定例

↓conf.toml

# chat チャンネルへの入力を
# regex.chat.csv で定義された正規表現で置換して
# chat-synth チャンネルへ出力する設定例です。
[[processors]]
feature = "modify"
channel_from = "chat"
channel_to = "chat-synth"
regex_files = ["regex.chat.csv"]

↓regex.chat.csv

パチパチパチ,"[88]{3,}"
パチパチ,".*パチパチ.*"
$1 (以下略),"^(.{32}).*"
  1. 拍手っぽい表現を「パチパチ」に正規化、ぱたーん1
  2. 拍手っぽい表現を「パチパチ」に正規化、ぱたーん2
  3. 32文字を超える入力があったら「32文字目まで (以下略)」にするぱたーん
@usagi usagi self-assigned this Dec 7, 2023
@usagi
Copy link
Owner Author

usagi commented Dec 7, 2023

これに対応すると、全体のパターンで長すぎるchatの読み上げの後ろの方を「以下略」したり、nightbotのchatは読み上げないとかできるようになります。次のアップデートはこの対応にしましょう。

@usagi
Copy link
Owner Author

usagi commented Dec 9, 2023

実装できました👀

image

@usagi
Copy link
Owner Author

usagi commented Dec 9, 2023

ついでに置換の優先順序も調整しましょう。

  1. 正規表現
  2. 辞書
  3. alkana

この順序がよいと思います。今は逆。

@usagi usagi closed this as completed in 7933841 Dec 9, 2023
usagi added a commit that referenced this issue Dec 9, 2023
fix #45 《Modify》の辞書ファイルを既存の.txtに加えて.csvにも対応し、空白文字を含むパターンへの対応性を向上します
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant