chid、dchangeコマンドがスレ立て時に反映されない #1
Labels
No Label
bug
discussion
documentation
duplicate
enhancement
feature
help wanted
invalid
Priority
High
Priority
Low
Priority
Medium
question
wontfix
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stat2/delightly-v2fork#1
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
三男でもあったバグ
!noid及び!idchangeコマンドをスレ立て時に反映させる修正案を作成しました。
概要
数カ所の修正が必要だったので段階ごとに説明していきます。
大きく分けて、スレ主判別キーの修正、!addコマンドの修正、!noid及び!idchangeのスレ立て時での有効化、となります。
変更差分は
f9af889962
からご確認ください。各修正に書いてあるファイル名と行数は上記の差分に対応します。L◯◯というのは修正後コードの行数です。
完成版のコードは
f9af889962/test/bbs-main.php
f9af889962/test/extend/commands.php
となります。
コードの令和最新版はこちらのプルリクエストからどうぞ。#24
スレ主判別キーの修正
設計ではおそらくスレ主のフィンガープリントから生成されたスレ主判別キーによってコマンド発火の判定をするようなのですが、これが機能していません。
スレ立て時のスレ主判別キーはdatファイルの名前欄に挿入されているにも関わらず、>>2以降のレスでの判定では>>1のメール欄を参照しているからです。
従ってスレ主判別キーをメール欄に入れるように変更します。また、スレ主判別キーやらワッチョイやら主表示が同じ変数で結合されているのでスレ主判別キーだけを別変数で定義します。
$supervisorIDに初期値として空文字列を代入します。
bbs-main.php L26
$Mではなく$supervisorIDにスレ主判別キーを代入します。また、ついでに桁数を5桁から8桁に変更して主被りの確率を下げます。
※$Mはワッチョイ等の回線情報を扱う変数です。
bbs-main.php L307
bbs-main.php L313
>>1のdatのメール欄にスレ主判別キーを代入します。
bbs-main.php L860-L861
bbs-main.php L962
以降は補足の変更点です。
ID非表示スレでは主表示が出ないように修正します。
bbs-main.php L830
ワッチョイ等の回線情報を名前欄に表示させます。また、本文末尾に追加されていた分は削除します。
bbs-main.php L841-L851
bbs-main.php L874
メール欄にエポック秒が表示されていたのを削除。鍵漏れ等の対策として空欄にします。
TL用には個別にエポック秒を追加します。
bbs-main.php L853-L856
bbs-main.php L985
!addコマンドの修正
!addコマンドにマッチする正規表現の誤りを修正。
commands.php L51
!addコマンドでの>>1変更がブラウザ用datにしか反映されていなかったので専ブラ用datにも変更を反映させます。
それに伴い、過去ログ判定を上部に移動します。
bbs-main.php L326-L344
!noid及び!idchangeのスレ立て時での有効化
delighty v2では基本的にスレ主コマンドは>>1でコマンドがあるかどうかで判定されているようです。なので!addで追加する形をとります。
したがってスレ立て時には>>1が存在しないので発火しない、という挙動になってしまいます。
スレ立て時にも発火するようにする修正は以下のとおりです。
commands.php L60-L68
終わりに
変更箇所が多いので新たなバグの発生の可能性があります。
良かったらテスト環境で試してみてください。また、修正点などがあればご指摘いただきたいです。