■掲示板に戻る■ 全部 1- 101- 最新50 [PR]ぜろちゃんねるプラス[PR]  

ぜろちゃんねるプラス プラグイン総合

1 :windyakin ★:2011/12/12(月) 21:39:04.77 ID:???0
プラグインに関するリリース情報等

2 :windyakin ★:2011/12/12(月) 21:40:21.95 ID:???0
早速

出会いスパムキャンセラー 1.2.0 をリリースしました。
http://sourceforge.jp/projects/zerochplus/releases/54176

リリースノート
また新しい業者がでてきたので対応しました。

変更履歴
・2個以上のURLがあっても全部検査するようになった
・また新しい業者が出回ってきたので対応

3 :windyakin ★:2012/01/02(月) 13:39:45.42 ID:???0
出会いスパムキャンセラーをSVNにて更新しました。
http://svn.sourceforge.jp/svnroot/zerochplus/spamblock/trunk/0ch_spamblock.pl

変更履歴
・.mobi / .cc に対応
・規制IP追加

4 :森田:2012/12/11(火) 09:23:59.29 ID:tYma141s0
マックを使っているのですが
SVNでダウンロードするには
やはり「ターミナル」ですかね??

5 :名無しさん@ぜろちゃんねるプラス:2012/12/11(火) 20:32:33.46 ID:B2cgqZbM0
>>4
こちらはMac環境が無いのでわかりませんが、Mac用のSVNクライアントは
いくつかあるようなので検索して目についたものを使ってみてはどうでしょうか

ターミナルは汎用操作盤のようなものなので、それ自体にはSVNを扱う機能はないと思います

6 :名無しさん@ぜろちゃんねるプラス:2013/05/06(月) 11:30:13.14 ID:wtmNGNHk0
プラグインの作り方解説ないの?

7 :0ch+開発担当 ◆0chp.sx.ik :2013/05/06(月) 13:32:54.91 ID:NbW7qBDc0
>>6
現状のプラグインは非常に貧弱で分かりづらく、
0ch+のコードが頭に入っていないと作るのも難しいと思います。

ただし文字列置換(NGワード置換やおみくじ機能、独自トリップ)などは比較的簡単に作れます。
既存のプラグインを参考にしてみてください。

sub getTypeで (1 | 2) か 16 を返せば書き込み時にexecuteが実行されます。
sub execute内で以下のように記述すれば書き込み時の書き換えができます。
  my $name = $form->Get('FROM');
  my $mail = $form->Get('mail');
  my $text = $form->Get('MESSAGE');
  # ここで書き換えなど
  $form->Set('FROM', $name);
  $form->Set('mail', $mail);
  $form->Set('MESSAGE', $text);

8 :名無しさん@ぜろちゃんねるプラス:2013/05/06(月) 22:44:43.16 ID:wtmNGNHk0
>>7
そうですね……
時間でdat落ちさせるようなプラグインは可能ですか?

9 :0ch+開発担当 ◆0chp.sx.ik :2013/05/07(火) 00:46:59.46 ID:D4/SwAb20
>>8
やろうと思えば大抵のことは可能です。

・サーバーのcronなどで定期的に処理する方式
プラグインよりスクリプト(単独実行)を作ることになりますが、
datフォルダのすべての.datの更新日時を確認して
一定時間が過ぎたものをdat落ち処理すれば良いですね。

・書き込み(bbs.cgi)時に処理する方式
こちらはcronが必要なく、プラグインのみで実装できます。
bbs.cgiにPOSTされるたびに実行されるので、一定時間の間隔を置く処理が必要です。

せっかくなので作ってみました(後者の方式)
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_autopool.pl
デフォルトで14日更新のないスレが落ちます。
一度処理されると1日間は処理されません。
そこらへんの数値は管理画面から変更可能です。

10 :名無しさん@ぜろちゃんねるプラス:2013/05/07(火) 07:09:53.57 ID:S+cs2NZw0
>>7
横レスすみません。
NGワード置換、独自トリップって面白そうですね。
図々しくて申し訳ないのですが、これらのサンプルファイルを
作っていただくことは可能でしょうか?

11 :名無しさん@ぜろちゃんねるプラス:2013/05/07(火) 07:14:03.28 ID:PnnpTBy20
>>9
ありがとうございます!
勉強させてもらいます

12 :0ch+開発担当 ◆0chp.sx.ik :2013/05/07(火) 21:10:30.48 ID:D4/SwAb20
>>10
文字列置換(NGワード置換)
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_replace.pl
独自トリップ
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_mytrip.pl

どうぞ、参考にしてみてください。

13 :名無しさん@ぜろちゃんねるプラス:2013/05/07(火) 23:03:18.88 ID:LbgK/BiE0
モジュールプラグインの名前って何か意味をもってつけてるんですか?
MELKORとか

14 :0ch+開発担当 ◆0chp.sx.ik :2013/05/07(火) 23:24:46.98 ID:D4/SwAb20
>>13
モジュール名は無印0chからの名残です。

以下は無印0chのreadmeからの引用です
>モジュール名(ファイル名)は、指輪物語関連の登場人物からとっていますが、
>物語上の役割とモジュールの働きに一切関連性はありません。

とはいえ、このままではやはり分かりにくいので
バージョン0.8.xからは適切なモジュール名を付け直そうと思っています。

15 :名無しさん@ぜろちゃんねるプラス:2013/05/07(火) 23:36:58.84 ID:8LXrk1hc0
>>14
なるほど

わかりにくいので期待しときますwww

16 :10:2013/05/08(水) 07:04:42.90 ID:W87ht9bU0
>>12
ありがとうございます。

17 :名無しさん@ぜろちゃんねるプラス:2013/05/09(木) 00:04:38.30 ID:9BaR+L2c0
Cookie関連のモジュールってありますか?
いじりたいんですが

18 :0ch+開発担当 ◆0chp.sx.ik :2013/05/09(木) 00:18:31.21 ID:WEdoPseA0
>>17
cookie管理モジュール RADAGAST
module/radagast.pl です

19 :名無しさん@ぜろちゃんねるプラス:2013/05/09(木) 00:20:42.89 ID:9BaR+L2c0
>>18
ありがとうございます

20 :名無しさん@ぜろちゃんねるプラス:2013/05/10(金) 22:31:57.45 ID:OBfAGNhE0
Cookieのいじり方が……

require './module/radagast.pl'

21 :名無しさん@ぜろちゃんねるプラス:2013/05/10(金) 22:41:14.05 ID:OBfAGNhE0
>>20
自決しました

22 :名無しさん@ぜろちゃんねるプラス:2013/05/11(土) 17:18:01.84 ID:cvSl8V4Y0
すみません、やはりわかりませんでした
以下のようにやりましたがうまくいきません。


my $Cookie = RADAGAST->new;
$Cookie->Init;
$Cookie->Set('hoge', 'foo');
my $hoge = $Cookie->Get('hoge');

23 :0ch+開発担当 ◆0chp.sx.ik :2013/05/11(土) 17:33:54.55 ID:UuArXEzU0
>>22
モジュールの使い方自体は問題ありませんが、
ただSetしただけではクッキーは出力されません。

プラグインでクッキーを扱おうとしているのであれば
  my $Cookie = $Sys->Get('MainCGI')->{'COOKIE'}; # $Sysまたは$sys
としてこれを利用してください。Initはしなくていいです。
「書きこみが終わりました。」のページでクッキーが出力されます。

24 :名無しさん@ぜろちゃんねるプラス:2013/05/11(土) 20:22:19.86 ID:b6tdMdxk0
ありがとうございました

25 :名無しさん@ぜろちゃんねるプラス:2013/05/13(月) 06:53:57.62 ID:XtVhcxwI0
この方法でクッキーを設定するとクッキーを弄られてしまうんですが何か対応策はありませんか?

26 :名無しさん@ぜろちゃんねるプラス:2013/05/13(月) 07:33:49.13 ID:XtVhcxwI0
>>25
セッションIDを渡すようにします
すみませんでした

27 :名無しさん@ぜろちゃんねるプラス:2013/05/14(火) 18:53:41.95 ID:jiodiXQg0
新しく搭載されたsession.plの使い方教えて欲しいです

28 :0ch+開発担当 ◆0chp.sx.ik :2013/05/14(火) 19:24:39.30 ID:J4Jm5GT+0
>>27
実はsession.plは0ch+では全く使われていません。
使えるかどうかもわからないので、CGI::Sessionなどを使ってください。

29 :名無しさん@ぜろちゃんねるプラス:2013/05/14(火) 19:33:49.57 ID:jiodiXQg0
>>28
ありがとうございました
session.pl使ってみましたが無事成功しました

30 :名無しさん@ぜろちゃんねるプラス:2013/05/22(水) 19:31:26.30 ID:wcmrf/AU0
書き込みをキャンセルさせる方法教えてください

31 :0ch+開発担当 ◆0chp.sx.ik :2013/05/22(水) 20:06:45.40 ID:vFwHaHsM0
>>30
書き込みボタンを押した後やすでに書き込んでしまった場合は
書き込みをキャンセルすることはできません。

掲示板の管理者・削除人に削除依頼を出してください。
管理者であれば管理画面のレス一覧ページから削除することができます。

32 :名無しさん@ぜろちゃんねるプラス:2013/05/22(水) 21:13:53.57 ID:wcmrf/AU0
>>31
いや、ある一定条件で書き込みできないようにプログラムからさせたいです

プラグインの制作経験はあります

33 :0ch+開発担当 ◆0chp.sx.ik :2013/05/22(水) 21:29:49.72 ID:vFwHaHsM0
>>32
あっすみません、ここプラグインスレでしたね。

書き込みを中断させるようなサブルーチン等は用意してないので、
無理やりエラー画面を表示させることになります。

0ch_spamblock.plや0ch_spamkiller.plにあるsub PrintBBSErrorをコピーして
以下の1文を処理中断させたい部分に加えてください。
PrintBBSError($Sys, $Form, エラー番号);

34 :名無しさん@ぜろちゃんねるプラス:2013/05/22(水) 21:30:28.94 ID:wcmrf/AU0
>>33
エラーメッセージは設定できないですかね

35 :名無しさん@ぜろちゃんねるプラス:2013/05/22(水) 21:33:24.15 ID:wcmrf/AU0
できるっぽいですね……
番号に対応させるメッセージを何処かに書き加えればいいのかな?

36 :名無しさん@ぜろちゃんねるプラス:2013/05/22(水) 21:34:54.41 ID:wcmrf/AU0
>>35
すみません見つけました

ありがとうございました

37 :名無しさん@ぜろちゃんねるプラス:2013/05/30(木) 08:02:39.37 ID:YtsvMK8Y0
プラグインのこととかよくわからないのですが、
あるNGワードを名前欄のみとかメール欄のみに適用させることって出来ますか?
できれば見本ファイルとか作っていただけるとありがたいのですがよろしくお願いします。

38 :0ch+開発担当 ◆0chp.sx.ik :2013/05/30(木) 19:17:04.06 ID:Cfb57lnU0
>>37
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_ngword.pl
これでいいでしょうか

39 :名無しさん@ぜろちゃんねるプラス:2013/05/30(木) 23:31:15.50 ID:xP2OFfLA0
COOKIEの取得は

my $cookie = $sys->Get('MainCGI')->{COOKIE}

40 :37:2013/05/31(金) 07:48:07.35 ID:YqXP/igw0
>>38
ありがとうございます。

41 :名無しさん@ぜろちゃんねるプラス:2013/06/02(日) 09:16:37.18 ID:DdZCOOUQ0
Jane Styleでクッキーの書き換えが出来ないようです

42 :名無しさん@ぜろちゃんねるプラス:2013/06/02(日) 09:28:45.56 ID:DdZCOOUQ0
>>41
書き換えというより作成かも

43 :0ch+開発担当 ◆0chp.sx.ik :2013/06/02(日) 10:22:55.35 ID:IrOlyfxI0
>>41
これはJane Styleの仕様なのでこちらではどうにも出来ません。

Jane Styleは一応クッキーを扱っていて、外部板からのクッキーも受け取っているようです。
ただしJane2ch.iniのWrtCookieの項目を見るとわかりますが、
発行されたサーバーや有効期限などの情報がなく、全てひとまとめにされています。
そして書き込み時に2chのサーバーであればWrtCookieがそのまま送信されるようです。

つまりJane Styleはクッキーを扱っているものの管理が杜撰で、外部板は蚊帳の外です。

44 :名無しさん@ぜろちゃんねるプラス:2013/06/02(日) 13:45:33.96 ID:DdZCOOUQ0
>>43
有難うございました

45 :名無しさん@ぜろちゃんねるプラス:2013/06/05(水) 08:02:33.64 ID:0KWn1tPc0
2chmateも同じ感じですかね

46 :0ch+開発担当 ◆0chp.sx.ik :2013/06/05(水) 22:44:24.95 ID:pVWuo8jc0
>>45
外部板でもクッキーの受け渡しは問題なく出来ているようです。

47 :名無しさん@ぜろちゃんねるプラス:2013/08/26(月) 21:21:40.16 ID:uQZqRE820
書き込み回数をカウントするというcookieのプラグインを作って下さい

48 :0ch+開発担当 ◆0chp.sx.ik :2013/08/27(火) 22:45:11.18 ID:ls1yV9hg0
>>47
どういう仕様にしたいのかイマイチわかりません。
書き込み回数は個人なのか掲示板ごとなのか、
カウントした数をいつどこに表示したいのかなど具体的に書いてください。

49 :名無しさん@ぜろちゃんねるプラス:2013/08/28(水) 21:21:09.58 ID:UU3v4OJo0
>>48
個人が書き込みした数をcookieに保存し
!kakikomi等で名前欄にコマンドを打つと表示される

50 :0ch+開発担当 ◆0chp.sx.ik :2013/08/29(木) 16:03:24.39 ID:+irxHDu+0
>>49
これでいいでしょうか
http://sourceforge.jp/projects/zerochplus/scm/svn/blobs/469/codes/0ch_cookiecount.pl
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_cookiecount.pl
Cookieに対応していない専用ブラウザではカウントできません。
また、Cookieの改変対策はしていないので気をつけてください。

51 :名無しさん@ぜろちゃんねるプラス:2013/08/29(木) 18:13:55.93 ID:VSID4TO20
えらく高圧的やな

52 :名無しさん@ぜろちゃんねるプラス:2013/09/05(木) 02:28:32.63 ID:76+GSf1A0
0ch_autopool.plを板別に有効にできるようにはできないでしょうか。
運営板などの流れの遅い板を共存させたまま自動dat落ち機能を使いたいんです。
よろしくお願いします。

53 :0ch+開発担当 ◆0chp.sx.ik :2013/09/05(木) 21:56:24.49 ID:umv3zM8Y0
>>52
プラグインの板別設定は実装するつもりですが、いつになるか分からないので
それまではお手数ですがプラグインを直接改造して対応してください。

sub execute 内の始めのところ(94行目辺り)で以下のようにしてください。
  my $bbs = $Sys->Get('BBS');   # 板IDを取得
  return 0 if ($bbs eq 'operate');   # IDがoperateなら処理しない

54 :名無しさん@ぜろちゃんねるプラス:2013/09/06(金) 00:39:58.02 ID:Y2YIlplE0
もし、流れの遅い板≒スレ数が少ない板ということなら、
111行目の
$Threads->GetKeySet('ALL', '', \@threadList);
の次に以下を追加でもいいかも?

if ($#threadList < 30) {
# スレッド数が30以下なら処理しない ($#threadListはスレッド数-1を返す)
return 0;
}

55 :0ch+開発担当 ◆0chp.sx.ik :2013/09/06(金) 13:51:44.26 ID:MOP7vO3M0
>>54
はい、それでOKです。

56 :名無しさん@ぜろちゃんねるプラス:2013/09/06(金) 20:44:29.21 ID:lyLqp/lE0
ありがとうございました

57 :名無しさん@ぜろちゃんねるプラス:2013/09/26(木) 23:11:48.29 ID:X9tq0fI60
VIP伝説の機能、というプラグインを使用しているんですが!food機能などを実行しようとすると「food.cgiが開けなかったっぽ」とでます
説明通りにfood.cgiを設置してもだめです
なぜでしょうか

58 :0ch+開発担当 ◆0chp.sx.ik :2013/09/27(金) 13:10:03.15 ID:B+g0IKME0
>>57
bbs.cgiから見て $setting{'$file_path'} で指定されたディレクトリにfood.cgiなどがあることを確認して下さい。
問題なければ、ファイルやディレクトリのパーミッションが足りないかも知れません。

59 :名無しさん@ぜろちゃんねるプラス:2013/09/28(土) 04:31:29.12 ID:GnE8lsCk0
>>58
なるほど
問題が解決するまでは別のプラグインで補足してます
ありがとうございました

60 :名無しさん@ぜろちゃんねるプラス:2013/09/29(日) 08:20:14.76 ID:ODTYR6yU0
1001をランダム表示にするプラグインって作れますか?

61 :0ch+開発担当 ◆0chp.sx.ik :2013/09/29(日) 10:36:12.22 ID:E/ceVe260
>>60
現状ではデフォルトの1001をプラグインで止められないので
本体(module/vara.pl)を直接編集することになります。

62 :名無しさん@ぜろちゃんねるプラス:2013/09/29(日) 11:17:32.00 ID:ODTYR6yU0
えっと……どのように作ったらできますか?
すいません初心者で

63 :0ch+開発担当 ◆0chp.sx.ik :2013/09/29(日) 11:45:59.58 ID:E/ceVe260
>>62
module/vara.pl の sub Get1001Data を編集します。
792行目辺りのこの1行の後に
  my $endPath = $Sys->Get('BBSPATH') . '/' . $Sys->Get('BBS') . '/1000.txt';
以下のコードを追加してください。
  my $endPath2 = $Sys->Get('BBSPATH') . '/' . $Sys->Get('BBS') . '/1000random.txt';
  if (open(my $fh, '<', $endPath2)) {
    flock($fh, 2);
    my @list = <$fh>;
    $$data = $list[int rand @list];
    close($fh);
    return if ($#list != -1);
  }

次に各板ディレクトリの中(subject.txtと同じ場所)に1000random.txtを作ります。
内容は1行に1つ、.datと同じ形式で書いてください。
1001<><>Over 1000 Thread<> 1000を超えました。<br>新しいスレッドを立ててください。<>
名前欄<>メ欄<>時刻ID部分<>本文。改行はBRタグ。.datからコピーするのが簡単<>

64 :名無しさん@ぜろちゃんねるプラス:2013/09/29(日) 11:54:54.82 ID:ODTYR6yU0
>> 63
ありがとうございます

65 :名無しさん@ぜろちゃんねるプラス:2013/10/13(日) 12:03:51.85 ID:IaAlygbc0
すみません、ID置換というのはどのようにすればいいのでしょうか?
メール欄に!idと打ち込むとランダムに8文字のIDが出力されるようにしたいのです
色々とやってみたのですがなぜか元々のIDの後ろに出てくるんです
作れますか?

66 :名無しさん@ぜろちゃんねるプラス:2013/10/13(日) 13:19:40.67 ID:IaAlygbc0
すいません、ID置換というかランダムIDです

67 :0ch+開発担当 ◆0chp.sx.ik :2013/10/13(日) 13:53:42.96 ID:1shGZnJQ0
>>65
プログラムの構造上プラグインでは出来ません。
module/vara.plの132行目あたりのこの1行の後に
  my $id = $Conv->MakeID($Sys->Get('SERVER'), ..., 8);
以下のコードを加えてください
  if ($elem[2] =~ s/!id//g) {
    $id = 'random'; # ここでランダムなIDを作る
    $Form->Set('mail', $elem[2]);
  }

68 :名無しさん@ぜろちゃんねるプラス:2013/10/13(日) 14:18:03.96 ID:IaAlygbc0
>>67
ありがとうございます

69 :名無しさん@ぜろちゃんねるプラス:2013/10/15(火) 06:14:03.71 ID:uTLRMucA0
個人書込み回数のプラグインで、実験場でやると成功するのにメインの板でやると一回になったままです、なぜでしょう?
ちなみに実験場はwkeya鯖でメインはXREAの鯖です

70 :0ch+開発担当 ◆0chp.sx.ik :2013/10/15(火) 20:20:54.97 ID:BjX9ERdk0
>>69
同じブラウザで同様に書き込んで違いが出たのであればクッキーのパス設定に
問題があるか、サーバーがクッキーを書き換えている可能性があります。

クッキーの発行に問題がないと仮定すると、使用しているブラウザが
クッキーをやりとりしていない、あるいは出来ないと考えられます。
例えば専用ブラウザのJane Styleは忍法帖(クッキー)に対応していますが、
外部板の場合クッキーの受け渡しをしないようになっています。

71 :名無しさん@ぜろちゃんねるプラス:2013/11/09(土) 18:17:08.15 ID:+eGmdD6Y0
vip qualityのプラグインを入れているのですが0.7.3からvara.plの書き換えが出来なくなりました。
仕方が無いのでvara.plは古いものを使っているのですがvara.plの書き換え方法を
ご教示願えたら幸いです。宜しくお願いします

72 :名無しさん@ぜろちゃんねるプラス:2013/11/09(土) 18:21:45.42 ID:+eGmdD6Y0
具体的には

#「VIP クオリティ」名無し制御サブルーチンの実行
if ($oSys->Equal('MODE',1)){
$elem[1] = Vip_quality::vip_quality_new_treed($elem[1],$oSys->Get('BBS'),$oSys->Get('KEY'));
}
#「VIP クオリティ」サブルーチンの実行
my (@vip);
($elem[1],$elem[2],$date,$elem[3]) = Vip_quality::vip_quality($elem[1],$elem[2],$date,$elem[3],$oSys->Get('VERSION'),$oSys->Get('BBS'),$oSys->Get('KEY'));
$data = join('<>', $elem[1], $elem[2], $date, $elem[3], $elem[0]);
$data2 = "$data\n";
$datPath = $oSys->Get('DATPATH');

の処理をvara.plでどう書き換えたらいいか分かりません。お願いします

73 :0ch+開発担当 ◆0chp.sx.ik :2013/11/09(土) 19:51:42.84 ID:GC0gl6dg0
>>71-72
0ch+ 0.7.4用のプラグインを作りました。
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_vip_quality_mod.pl
これを使えばvara.plの書き換えは必要ありません。

74 :名無しさん@ぜろちゃんねるプラス:2013/11/10(日) 01:29:33.26 ID:7dKS+klY0
>>73
ありがとうございます。

75 :71-72:2013/11/10(日) 18:48:13.69 ID:7dKS+klY0
>>73
昨日はありがとうございました。ところで>>73のプラグインを使うとランダム名無しプラグインで
名無しに色が付かないのですが修正する方法はありますでしょうか?
ランダム名無しプラグインを作った方に聞いた方がいいのでしょうか?

76 :71-72:2013/11/10(日) 19:07:16.08 ID:7dKS+klY0
あとJane xenoを使っているのですが、vip qualityのコマンドを本文に書き込むと
自己レス判定が出来ないようです。合わせてご確認頂ければ幸いです。

77 :0ch+開発担当 ◆0chp.sx.ik :2013/11/10(日) 19:33:42.79 ID:E50yas7c0
>>75
プラグインの順序を入れ替えて、ランダム名無しをVIPクオリティより先に実行させてください。

>>76
これについてはJaneが、書き込んだ内容が一致しているかどうかで判定しているので、
VIPクオリティに限らず本文を書き換えるようなプラグインを使うと判定できなくなります。
改善要望を出すならJaneの作者へお願いします。

78 :71-72:2013/11/10(日) 20:13:52.93 ID:7dKS+klY0
>>77
ありがとうございました。名無しについては問題が解決しました。

コマンドの件は仕方ないですね。実害無いので様子見ます。

迅速な対応感謝致します。

79 :名無しさん@ぜろちゃんねるプラス:2014/01/24(金) 21:10:36.34 ID:skShxTWx0
ありがたく利用させて貰っています。
スレに書きこみがあった場合に管理人宛にメールで通知したいと考えています。
スレ名はどうやって取れば良いでしょうか。



80 :0ch+開発担当 ◆0chp.sx.ik :2014/01/24(金) 22:13:51.24 ID:51RV8tvb0
>>79
以下のようにすれば取得できると思います。
  my $CGI = $Sys->Get('MainCGI');
  my $Threads = $CGI->{'THREADS'} || $Sys->Get('_THREAD_');
  my $threadid = $Sys->Get('KEY');
 
  my $title = $Threads->Get('SUBJECT', $threadid);

81 :名無しさん@ぜろちゃんねるプラス:2014/01/26(日) 08:43:28.15 ID:gJeO5LK50
2chの忍法帖のような機能を作ってくれますか?
若しくは作り方を教えてくれるとありがたいです
水遁のようなものも教えてください

82 :0ch+開発担当 ◆0chp.sx.ik :2014/01/26(日) 12:30:59.11 ID:vogxkBUb0
>>81
過去に同様の質問がありました。この辺りを参考にしてください。
http://yakin.38-ch.net/test/read.cgi/zerochplus/1310282996/719-722
http://yakin.38-ch.net/test/read.cgi/zerochplus/1310282996/756-757
http://yakin.38-ch.net/test/read.cgi/zerochplus/1310282996/925-929

水遁についてはシステムの構造的に実装がかなり難しいと思います。

83 :名無しさん@ぜろちゃんねるプラス:2014/01/26(日) 13:41:22.91 ID:gJeO5LK50
有難うございます
SETTING.TXTのNINJAは
$Set->Set('BBS_NINJA',1);
でいいのでしょうか?


84 :0ch+開発担当 ◆0chp.sx.ik :2014/01/26(日) 14:01:42.73 ID:vogxkBUb0
>>83
そのように設定すれば「BBS_NINJA」の設定値が一時的に「1」になります。
この設定項目はシステムでは使われていないので、設定に対する処理を自前で実装する必要があります。

85 :名無しさん@ぜろちゃんねるプラス:2014/01/26(日) 15:00:32.40 ID:gJeO5LK50
わかりました
有難うございました

86 :名無しさん@ぜろちゃんねるプラス:2014/01/26(日) 18:01:02.28 ID:K+1DLkDp0
perl初心者です
本文or名前欄に特定のコマンドを入れると
jsonpをgetして帰ってきた値を待ってからコマンド部分をreplaceして出力するプラグインは作れますか?

use JSON; の他になにか必要なものはありますでしょうか

87 :0ch+開発担当 ◆0chp.sx.ik :2014/01/26(日) 18:38:57.40 ID:vogxkBUb0
>>86
もちろん作れます。
GETするということなので LWP::Simple や LWP::UserAgent などを使うことになります。

コマンド置換系のプラグインの作り方はサンプルプラグインを参考にしてみてください。
http://sourceforge.jp/projects/zerochplus/wiki/Codes

88 :名無しさん@ぜろちゃんねるプラス:2014/01/28(火) 06:22:54.62 ID:1eGR+FYr0
>>80
ご教示ありがとうございます。
へっぽこなので打つ手が遅く「できました」とはまだ報告できませんが。

89 :名無しさん@ぜろちゃんねるプラス:2014/01/30(木) 06:36:18.10 ID:wdibM10k0
>>87
レスありがとうございます
数日いろいろ試してみましたが
my $text = $Form->Get($key);
ここでスクリプトエラーが出るようになってしまいました
0ch_replace.plとほとんど同じはずなんですがね・・・
うーん

90 :0ch+開発担当 ◆0chp.sx.ik :2014/01/30(木) 19:51:57.47 ID:3x7eBg2x0
>>89
0ch_replaceはforeachを使って処理をまとめているので
少しわかりにくくなっていますが、普通は以下のようにします。

  # 名前欄、本文を取得
  my $name = $Form->Get('FROM');
  my $text = $From->Get('MESSAGE');
  
  # ここでnameやtextを書き換える
  $name =~ s{!cmd}{</b>コマンド<b>}g;
  $text =~ s{!cmd}{<b>コマンド</b>}g;
  
  # 書き換えたデータを再設定
  $Form->Set('FROM', $name);
  $Form->Set('MESSAGE', $text);

91 :名無しさん@ぜろちゃんねるプラス:2014/02/07(金) 12:30:00.41 ID:NYt6rWdg0
2chのスレッドを自動でコピーする
@chsの避難所ツールのようなものはできませんか?
知識はなうに等しいです

92 :0ch+開発担当 ◆0chp.sx.ik :2014/02/07(金) 13:12:45.67 ID:GZYH4i1a0
>>91
0ch+に他の掲示板のスレッドを自動でコピーするような機能はありません。

Perlやcronをある程度いじれるなら、0ch+に自動過去ログ倉庫システムを組み込むことはできます。
以下はそれを実現するための、私が作ったMDACシステムですが、使い方などの説明はまだ書いていません。
https://github.com/iroiro123/mdac

あるいは、全手動で.datをダウンロードしてその.datを0ch+に読み込ませることは可能です。

93 :名無しさん@ぜろちゃんねるプラス:2014/02/07(金) 13:44:03.23 ID:NYt6rWdg0
ありがとうございます

それと
自動新スレプラグインというものがありますが
これを改造して建つ新スレの元を2chの特定の板のURLに設定出来ませんか?

新スレが建つようになるレス数を「1」に設定
【part2】等はつかないようにする

これでURLが設定できれば避難所として使えるかもしれないです


94 :名無しさん@ぜろちゃんねるプラス:2014/02/07(金) 13:49:02.00 ID:NYt6rWdg0
>>92
それとdatを読み込ませるものというのはどのような物なのでしょうか??

95 :0ch+開発担当 ◆0chp.sx.ik :2014/02/07(金) 14:50:25.66 ID:GZYH4i1a0
>>93
自動新スレプラグインはぜろちゃんねるプラスがつくった物ではないのでサポート外です。
また、それらの機能を実現するのは難しいと思います。

>>94
スレッドのデータは1234567890.datのようなテキストファイルで管理されています。
このファイルに対して以下の手順を行うことで2chから0ch+に手動インポートすることができます。
  1. *.datを2chからWebブラウザや専ブラでダウンロード
  2. *.datを0ch+の各掲示板ディレクトリ内の「dat」ディレクトリ内にアップロード
  3. 管理画面からスレッド一覧のページで「subject更新」を行う

96 :名無しさん@ぜろちゃんねるプラス:2014/02/07(金) 15:37:50.89 ID:NYt6rWdg0
>>95
ありがとうございました

97 :名無しさん@ぜろちゃんねるプラス:2014/03/07(金) 01:34:35.60 ID:SK4EDOzq0
知識のない者です

@
スレを立てた人がコマンドを打ち込むことで
そのスレッドをスレストできるプラグイン

A
スレストされたスレッドのタイトルに
特定の文字列を加えられるプラグイン

できたらよろしくお願いします

98 :0ch+開発担当 ◆0chp.sx.ik :2014/03/07(金) 14:25:03.28 ID:GtGhtyt40
>>97
1についてはプラグインを作りました。
https://sourceforge.jp/projects/zerochplus/wiki/Codes#ownercmd
一部本体の書き換えが必要です。

2についてはプログラムの構造上、プラグインでは実装が困難です。

99 :名無しさん@ぜろちゃんねるプラス:2014/03/07(金) 14:56:21.87 ID:SK4EDOzq0
>>98
ありがとうございます

今までの書き込み数に応じて名前欄が変わるようなプラグインは可能でしょうか?

100 :名無しさん@ぜろちゃんねるプラス:2014/03/07(金) 15:04:17.98 ID:SK4EDOzq0
>>98
それと
スレ主がスレストするためにはどのような動作が必要なのでしょうか

101 :0ch+開発担当 ◆0chp.sx.ik :2014/03/07(金) 15:28:37.55 ID:GtGhtyt40
>>99
こちらの書き込み数カウンターを改造すれば可能です。
https://sourceforge.jp/projects/zerochplus/wiki/Codes#count

>>100
メール欄に !stop でレスが書き込まれた後、スレストされます。

102 :0ch+開発担当 ◆0chp.sx.ik :2014/03/07(金) 15:29:59.59 ID:GtGhtyt40
すみません、訂正です。
書き込み数カウンターはこちらの個人用のほうでした。
https://sourceforge.jp/projects/zerochplus/wiki/Codes#sessioncount

103 :名無しさん@ぜろちゃんねるプラス:2014/03/07(金) 15:49:18.68 ID:SK4EDOzq0
>>101
ありがとうございました

104 :名無しさん@ぜろちゃんねるプラス:2014/03/07(金) 16:02:19.56 ID:SK4EDOzq0
>>101
度々すみません
具体的にどのように改造したらよいのでしょうか...?

105 :名無しさん@ぜろちゃんねるプラス:2014/03/07(金) 16:14:39.33 ID:SK4EDOzq0
すみません自己解決しました

106 :名無しさん@ぜろちゃんねるプラス:2014/03/07(金) 18:28:45.21 ID:SK4EDOzq0
度々すみません
>>98
このプラグインでスレストではなくdat落ちは可能ですか?

107 :0ch+開発担当 ◆0chp.sx.ik :2014/03/07(金) 20:40:46.27 ID:GtGhtyt40
>>106
「!pool」コマンドを追加しておきました。
https://sourceforge.jp/projects/zerochplus/wiki/Codes#ownercmd

一応プラグインの個別設定からスレスト・dat落ちの有効切り替えをできるようにしておきました。

108 :名無しさん@ぜろちゃんねるプラス:2014/03/08(土) 13:30:10.46 ID:R4R8vJpo0
RSSを配信している外部サイトのRSSを取得して
自動でスレを立てるプラグインは可能ですか?

109 :名無しさん@ぜろちゃんねるプラス:2014/03/08(土) 13:37:30.76 ID:dN2E7w/m0
cronいると思う

110 :名無しさん@ぜろちゃんねるプラス:2014/03/08(土) 15:17:40.06 ID:R4R8vJpo0
Cronっていうのをつかうとできますかね?

111 :0ch+開発担当 ◆0chp.sx.ik :2014/03/08(土) 16:38:08.50 ID:9IamuP8c0
>>110
こちらの書き込みプログラムを改造して、これをcronで動かせば可能です。
http://sourceforge.jp/projects/zerochplus/wiki/Codes#myres

有料サーバーなら大抵cronは使えますが、無料サーバーの場合はcronが使えないことが多いです。

112 :名無しさん@ぜろちゃんねるプラス:2014/03/08(土) 17:11:40.10 ID:R4R8vJpo0
>>111
取得したRSSの
タイトル→スレタイ
本文→本文

に出力すればいいんですよね?
このスクリプトでスレを立てる部分は何行目でしょうか?

113 :名無しさん@ぜろちゃんねるプラス:2014/03/08(土) 17:30:38.43 ID:R4R8vJpo0
>>111
初心者で申し訳ございません
18行目と19行目には何を入力すればいいのでしょうか?

114 :0ch+開発担当 ◆0chp.sx.ik :2014/03/08(土) 17:35:23.50 ID:9IamuP8c0
>>112
そうなりますね。

myres.cgiで書き込み処理を行っているのは sub res ですが、この中身をいじる必要はなく、
書き込むデータ($post)を準備してres関数を呼出すだけ(41行目)で書き込めます。

スレ立てとレスの違いは「subject」「key」のどちらが指定されているかだけなので、
スレ立てならkeyをコメントアウトしてsubjectにタイトルを指定するだけです。

115 :0ch+開発担当 ◆0chp.sx.ik :2014/03/08(土) 17:41:38.61 ID:9IamuP8c0
>>113
hostとaddrには「localhost」「127.0.0.1」あたりを指定しておけばいいと思います。

ちなみにhost,addrは、あたかもそのホスト・IPアドレスから書き込まれたかのように処理を行うための指定です。
例えばケータイのホスト名・IPアドレスを指定すればID末尾がOになります。

116 :名無しさん@ぜろちゃんねるプラス:2014/03/08(土) 19:01:22.23 ID:R4R8vJpo0
ありがとうございました

117 :名無しさん@ぜろちゃんねるプラス:2014/03/08(土) 22:30:14.09 ID:R4R8vJpo0
すみません
試した結果 myres.cgiにアクセスすると success と表示されるのですが
スレは立っていないみたいです

RSSのスクリプトを抜きにしてやっても同じでした


my $post = {
# testディレクトリのパス(末尾/は不要)
'testdir' => 'test',
#'testdir' => '.',

# ホスト名・IPアドレス偽装
'host' => 'localhost',
'addr' => '127.0.0.1',

# フォームデータ
'form' => {
'bbs' => 'aaa',

# レス時のみ
#'key' => '1234567890',

# スレ立て時のみ
'subject' => 'title',

'FROM' => 'fusianasan',

# 各種規制をスルーする専用キャップを作っておく
'mail' => '#myres',

'MESSAGE' => "かきくけこ",

変更した部分は以上です
何が原因でしょうか?

118 :名無しさん@ぜろちゃんねるプラス:2014/03/08(土) 22:41:10.14 ID:R4R8vJpo0
すみません自己解決しました

119 :名無しさん@ぜろちゃんねるプラス:2014/03/09(日) 01:34:33.43 ID:Z4FbaEIE0
>>111
言語はPerlですよね?
subjectとcommentの部分にスクリプトを挿入する場合どのように書けばいいのでしょうか?


120 :0ch+開発担当 ◆0chp.sx.ik :2014/03/09(日) 12:08:38.70 ID:RJ1LJpta0
>>119
$postの定義より前にスクリプトを挿入して、タイトルと本文を変数に入れておいて、
その変数をsubject等に指定してください。

121 :名無しさん@ぜろちゃんねるプラス:2014/03/14(金) 23:33:19.36 ID:g/mfffO10
ID末尾の種別を変更出来るようなプラグインはありますか?
また、UAによって変えることは可能でしょうか

122 :0ch+開発担当 ◆0chp.sx.ik :2014/03/17(月) 11:02:31.63 ID:Zxyv7qXp0
>>121
返信が遅くなってすみません。
ID末尾の識別子の変更はプラグインでできなくはないですが、おすすめはしません。

識別子は module/galadriel.pl の sub GetAgentMode で設定しているので、
このソースコードを直接編集するのが簡単だと思います。
以下のように条件を増やせば識別子を増やしたり変更することができます。
  my $ua = $ENV{'HTTP_USER_AGENT'};
  if ($ua =~ /^Mozilla/) {
    ...

123 :名無しさん@ぜろちゃんねるプラス:2014/03/17(月) 15:33:21.56 ID:wrH0I++60
>>122
わかりました
ありがとうございます!

124 :名無しさん@ぜろちゃんねるプラス:2014/03/18(火) 19:44:04.53 ID:FYNYyAA60
>>121ですが、UAに変更自体は可能でした
が、UAが変わるごとに同じIDでもID抽出が出来ないので、日付の時刻の後ろに表示したいのですが
どの部分をどう書き換え、書き加えれば良いのでしょうか?

125 :0ch+開発担当 ◆0chp.sx.ik :2014/03/18(火) 21:40:51.99 ID:TNSwAEeo0
>>124
ID8桁と識別子の間に空白を入れるようにするのはどうでしょうか。
この方法なら1行書き換えるだけでできます。

書き換える箇所は module/galadriel.pl の sub GetIDPart の最後から数行目の行です。
  $str .= "$type";
      ↓
  $str .= " $type";

126 :名無しさん@ぜろちゃんねるプラス:2014/03/18(火) 21:48:04.16 ID:FYNYyAA60
>>125
ありがとうございます、早速試してみます

127 :名無しさん@ぜろちゃんねるプラス:2014/03/18(火) 21:53:18.14 ID:FYNYyAA60
出来ました!
ありがとうございます!

128 :名無しさん@ぜろちゃんねるプラス:2014/03/18(火) 22:42:38.36 ID:FYNYyAA60
BB2C、2chmate等一部のブラウザでは表示されないようで、やっぱり日付にひっつけて表示させたいのですが
どうすればいいでしょうか

129 :0ch+開発担当 ◆0chp.sx.ik :2014/03/19(水) 11:42:18.51 ID:rdEIHqds0
>>128
日付部分とID部分は別々に生成されて、後でくっつけるようになっているので、
日付の後というよりIDの前にくっつける方が簡単です。

具体的には、sub GetIDPart の最後付近を以下のように書き換えてください。
  if (!$noslip && $Set->Equal('BBS_SLIP', 'checked')) {
    $str .= "$type";
  }
  return "ID:$str";

  $str = "ID:$str";
  if (!$noslip && $Set->Equal('BBS_SLIP', 'checked')) {
    $str = "($type) $str"; # IDが「(0) ID:xxxxxxxx」の形になる
  }
  return $str;

130 :名無しさん@ぜろちゃんねるプラス:2014/03/19(水) 16:53:39.35 ID:TG6FElCP0
>>129
確認できるほぼすべての専ブラに対応することが出来ました!ありがとうございます!

131 :名無しさん@ぜろちゃんねるプラス:2014/03/21(金) 11:41:03.77 ID:jdfzp3aK0
固定ハンドルネームの使用を制限できないでしょうか?
ただし例外として!omikuji等は可能にできるようにして欲しいです

132 :0ch+開発担当 ◆0chp.sx.ik :2014/03/23(日) 23:48:39.03 ID:PmRY426i0
>>131
サンプルプラグインを作りました。
許可するコマンド等の設定はプラグインを直接編集してください。

133 :0ch+開発担当 ◆0chp.sx.ik :2014/03/23(日) 23:51:36.67 ID:PmRY426i0
URLを貼り忘れていました。こちらです。
https://sourceforge.jp/projects/zerochplus/wiki/Codes#the774only

134 :名無しさん@ぜろちゃんねるプラス:2014/04/09(水) 13:01:49.79 ID:4CaSf0/C0
TRPGのようにダイス機能がほしいです。

名前欄に!1D6と入れれば六面体のダイスを一回振る
2D6なら1+6=7のように途中式も書いてあると嬉しいです


135 :0ch+開発担当 ◆0chp.sx.ik :2014/04/09(水) 22:12:29.73 ID:wQkVQz5+0
>>134
プラグインを作りました。
https://sourceforge.jp/projects/zerochplus/wiki/Codes#dice
途中式の表示はプラグインの個別設定から詳細表示を有効にしてください。

136 :名無しさん@ぜろちゃんねるプラス:2014/04/10(木) 02:29:27.20 ID:pH2wIfmp0
>>135
作成ありがとうございました。こんなにも早く出来るとは思ってもいませんでした。

137 :名無しさん@ぜろちゃんねるプラス:2014/04/12(土) 11:37:19.35 ID:NrQlODJqi
スレッドを立てる際にメール欄にパスを入力する事により、あとで、そのパスを用いて、スレッドの停止やdat落ちや上限レス数の変更を行えるようにする事が出来るプラグインを作って頂きたいです。(似たようなプラグインがありますが、あれはIPアドレスでの判別なので、IPアドレスが変わってしまった際に使えなくなるからです)

138 :0ch+開発担当 ◆0chp.sx.ik :2014/04/13(日) 20:00:51.28 ID:kpgHHKaR0
>>137
パスワード機能を追加しておきました。
https://sourceforge.jp/projects/zerochplus/wiki/Codes#ownercmd

139 :名無しさん@ぜろちゃんねるプラス:2014/04/14(月) 06:25:16.20 ID:at/FnwpV0
>>138
ありがとうございました
早速、使ってみます

140 :139:2014/04/14(月) 07:22:54.40 ID:at/FnwpV0
>>138
今回作って頂いたプラグインに
スレ主が自分のスレのみで上限別スレッド数を変更する機能を
付け加えて頂くことは可能でしょうか?

141 :140:2014/04/14(月) 07:24:56.77 ID:at/FnwpV0
>>140
すみません、上限別スレッド数ではなく
スレッド別上限レス数でした

142 :名無しさん@ぜろちゃんねるプラス:2014/04/21(月) 00:28:28.83 ID:+lHdbmkr0
rssを追加して欲しい

143 :名無しさん@ぜろちゃんねるプラス:2014/04/27(日) 09:54:08.64 ID:PVS/Ug7D0
スレ立て時に!ikusaで戦時中機能ってのを作ったけど一切動かなくて笑ってしまった

144 :0ch+開発担当 ◆0chp.sx.ik :2014/04/27(日) 12:18:01.31 ID:hIgsLUYf0
>>142
どのような機能のことを言っているのかはわかりませんが、
現状の0ch+にヘッドライン的な機能を実装する予定はありません。

>>143
コードを見せてくれれば問題点の指摘などしますよ。

145 :名無しさん@ぜろちゃんねるプラス:2014/04/27(日) 14:25:19.90 ID:LTPZjl6j0
>>144
ありがとうございます
あと一日頑張ってみます……悔しいですし

146 :名無しさん@ぜろちゃんねるプラス:2014/05/01(木) 22:18:15.53 ID:qYBjzBuG0
スレ立て及びカキコ直後に特定の動作はありますか?

147 :0ch+開発担当 ◆0chp.sx.ik :2014/05/02(金) 22:05:46.20 ID:7fCsB72A0
>>146
質問がよくわかりません。もう少し具体的にお願いします。

148 :名無しさん@ぜろちゃんねるプラス:2014/05/10(土) 23:02:44.99 ID:kgDzK+T/0
板ができてからの日数をカウントというか
その機能を設置してからの日数をカウントする機能がほしいです……
簡単そうであればコツとかありますか……

あと、スレ立て時にコマンドでそのスレッド全体に機能を付加したいのですがどのような文を加えればいいでしょうか

149 :0ch+開発担当 ◆0chp.sx.ik :2014/05/11(日) 15:57:27.06 ID:B8qsZsOd0
>>148
単純な文字列置換をするプラグインの作り方を少し解説しました。
http://yakin.38-ch.net/test/read.cgi/zerochplus/1393498172/207

特定日からの経過日数を数えるPerlコードはWeb上にたくさんサンプルが
あると思うので、それを参考にしてください。

スレ立て時のコマンドによる機能の有効化についてはまさにサンプルがあります。
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_threadattr.pl
このコードを見てよくわからない場合はまた質問してください。

150 :名無しさん@ぜろちゃんねるプラス:2014/05/23(金) 22:41:58.26 ID:5HLTUOqq0
スレごとにIDが変わるようにするにはどうすればいいですか?
日付が変わってもスレが変わってもIDが変わるようにしたいです

151 :0ch+開発担当 ◆0chp.sx.ik :2014/05/23(金) 22:56:32.96 ID:hL2n+J2G0
>>150
galadriel.plの sub MakeIDnew 内のコメントアウトしてある行を有効にするのが手っ取り早いです。
  #$ctx->add(':', $Sys->Get('KEY'));

  $ctx->add(':', $Sys->Get('KEY'));

152 :名無しさん@ぜろちゃんねるプラス:2014/05/23(金) 23:12:04.73 ID:5HLTUOqq0
>>151
ありがとうございました

153 :名無しさん@ぜろちゃんねるプラス:2014/05/24(土) 11:48:53.33 ID:g3JzXVFk0
時間限定のコマンドを受付けるにはどうすればいいですか?

154 :0ch+開発担当 ◆0chp.sx.ik :2014/05/24(土) 21:14:54.98 ID:70oeSOOs0
>>153
コマンドの処理部分をifでくくるだけです。

my $hour = (localtime)[2];
if ($hour >= 11 && $hour < 13) { # 11:00〜13:00の間有効
  ...
}
if ($hour < 6 || $hour >= 22) { # 22:00〜06:00の間有効
  ...
}

日をまたぐかどうかで条件の書き方が少し変わるので気をつけてください。

155 :名無しさん@ぜろちゃんねるプラス:2014/05/24(土) 21:39:23.14 ID:OcJ5TD2m0
日にち限定にするにはどうすればいいですが
毎月1日のみ可能みたいな

156 :0ch+開発担当 ◆0chp.sx.ik :2014/05/24(土) 22:00:11.14 ID:70oeSOOs0
>>155
例えばこんな感じです。
my ($min, $hour, $day, $mon) = (localtime)[1,2,3,4];
$mon += 1;
if ($day == 1) { # (毎月)1日
  ...
}
if ($mon == 12 && $day == 25) { # クリスマス
  ...
}

157 :名無しさん@ぜろちゃんねるプラス:2014/05/25(日) 00:16:32.82 ID:BLCJryUz0
>>156
ありがとうございました

158 :名無しさん@ぜろちゃんねるプラス:2014/05/26(月) 01:37:14.98 ID:tFcRyqI+0
掲示のid生成はどのような処理なのでしょうか
継続的に書き込んでいるならば変更しないようにしたいのですが

159 :名無しさん@ぜろちゃんねるプラス:2014/05/26(月) 19:29:51.45 ID:pmKk14Hs0
ipアドレスによってIDの末尾を変えるにはどうしたらいいでしょうか?
spmodeの末尾.spにしたいです

160 :0ch+開発担当 ◆0chp.sx.ik :2014/05/26(月) 22:18:42.96 ID:jzUxgAr50
>>158
IDは次の3要素から固定的に生成されます。
・掲示板ID(news4vipなど)
・日付(日単位)
・ホスト名(あるいは固有番号)

"日をまたいでも継続的な書き込みであれば同じIDにしたい"ということなら、
簡単ではありませんが、そのホストの書き込み履歴をチェックし、自前でID生成部を作成する必要があります。


>>159
以下の書き換え(追加)を行ってみてください(動作は未確認です)。

module/constant.pl の適当なところに次の行を追加
  our $C_DOCOMO_SP = 0x00020000;

module/galadriel.pl の sub GetClient の条件分岐文に次の分岐を追加
  elsif (CIDRHIT($cidr->{'docomo_smart'}, $addr)) {
    $client = $ZP::C_DOCOMO_SP;
  }

module/galadriel.pl の sub GetAgentMode の条件分岐文に次の分岐を追加
  elsif ($client & $ZP::C_DOCOMO_SP) {
    $agent = '.sp';
  }

また、SPモードのIPアドレス帯域が変わっているかもしれないので
module/cidr_list.pl を更新する必要があるかもしれません。

161 :名無しさん@ぜろちゃんねるプラス:2014/06/04(水) 18:27:22.65 ID:IKHHl/T+0
したらばのようにレスがついたときにメールで知らせる機能は難しいですか?

162 :0ch+開発担当 ◆0chp.sx.ik :2014/06/04(水) 23:32:18.49 ID:jxAmZzh80
>>161
そのサーバーでsendmailが使えるなら比較的簡単にプラグインで実装できると思います。
参考: http://x68000.q-e-d.net/~68user/webcgi/mail-1.html

163 :名無しさん@ぜろちゃんねるプラス:2014/06/13(金) 15:30:26.52 ID:pYD7/2y60
特定のスレだけ名無しにしたいのですがどうすればいいか分かりません
作っていただけないでしょうか

164 :名無しさん@ぜろちゃんねるプラス:2014/06/15(日) 17:41:58.67 ID:KW++MNb80
その‥

165 :0ch+開発担当 ◆0chp.sx.ik :2014/06/26(木) 23:08:34.39 ID:I+SdL7/G0
>>163
対応がかなり遅くなってしまいました。すみません。
質問スレの方と同じ方かも知れませんが、プラグインを作成しました。
https://sourceforge.jp/projects/zerochplus/wiki/Codes#force774

166 :名無しさん@ぜろちゃんねるプラス:2014/07/10(木) 20:05:05.15 ID:kLoPI1k40
すみません、ものすごく初歩的な部分であると思うのですが、
セッションバージョンの個人のレスカウンタを、てすととしてすこしいじり、下記のように改変を行いました
Perl自体に慣れていないところが大きいため、そもそも質問のレベルが低いとは思いますが、お時間のあるときに問題点をお教えいただけると幸いです




# 名前欄取得
#my $name = $Form->Get('FROM');

# 名前欄書き換え
if($count < 10){$name =~ s|!lv|</b>【てすとー】<b>|g;}
elseif($count == 10){$name =~ s|!lv|</b>【てすとーなんだぜー】<b>|g;}
else{
my $name = $Form->Get('FROM');$name =~ s|!lv|</b>【テストっていっとろうが】<b>|g;};

# 名前欄再設定
$Form->Set('FROM', $name);


167 :0ch+開発担当 ◆0chp.sx.ik :2014/07/10(木) 20:14:35.26 ID:kFbuyzVP0
>>166
Perlでは第2条件以降は「elseif」ではなく「elsif」となります。
あとは名前欄取得のコメントアウトを戻せばおそらく動作すると思います。

168 :名無しさん@ぜろちゃんねるプラス:2014/07/10(木) 22:45:28.53 ID:kLoPI1k40
>>167
初歩的すぎる質問に答えてくださってありがとうございます!!
ちゃんと稼働しました

169 :名無しさん@ぜろちゃんねるプラス:2014/07/16(水) 21:21:25.82 ID:M9/Iv1gK0
プラグイン内で\nを使うと
datが壊れるのですが

プラグイン内の文字列で改行を使うにはどうすればいいでしょうか

170 :0ch+開発担当 ◆0chp.sx.ik :2014/07/16(水) 22:41:57.04 ID:pVAsGBT30
>>169
改行タグ <br> を使ってください。

171 :名無しさん@ぜろちゃんねるプラス:2014/07/16(水) 23:08:33.06 ID:0x/gG0qz0
そりゃそうだ

質問者じゃないけどありがとうございます

172 :名無しさん@ぜろちゃんねるプラス:2014/07/20(日) 19:39:30.49 ID:5cSCn9pi0
書き込んだスレ内の特定のレス番号の本文を取得するには
どのように記述すればいいでしょうか?

173 :0ch+開発担当 ◆0chp.sx.ik :2014/07/27(日) 14:32:07.77 ID:bE4RJSho0
>>172
対応が遅れてしまいました、すみません。

一応次のようにすれば特定レスの本文を取得することができます。
  # datファイルを読み込む
  my $Dat = ARAGORN->new();
  $Dat->Load($Sys, $Sys->Get('DATPATH'), 1);
  $Dat->Close();
  
  # レス番numのレスを取得する
  my $num = 3;
  my $line = ${$Dat->Get($num-1)};
  chomp($line);
  my ($name, $mail, $info, $text, $subj) = split(/<>/, $line, -1);

174 :名無しさん@ぜろちゃんねるプラス:2014/07/30(水) 00:47:23.42 ID:NPKe+dt60
自動で新スレを建てるにはどうすればいいでしょうか

175 :名無しさん@ぜろちゃんねるプラス:2014/07/31(木) 15:50:17.98 ID:PK4w+z3v0
>>174
自己解決しました

176 :名無しさん@ぜろちゃんねるプラス:2015/03/04(水) 23:28:26.34 ID:b8Fk9nc90
管理者からの連絡をまとめて書き込みたいことがあるのですが
複数の板に一括で同じ投稿ができるようにすることは可能でしょうか?

177 :名無しさん@ぜろちゃんねるプラス:2015/03/05(木) 18:38:28.53 ID:Cw8fXQSR0
複数の板の同一keyのスレッドなのか個別に指定したいのかで変わってきそう
どっちにしてもプラグインでなんとかするのはラクじゃなさそうなので

・告知欄を使う
・管理者からの連絡用書き込みのための専用画面を作って、ID・名前・書き込み内容と
  複数の板・スレを指定してPOSTして、板・スレごとに↓もしくは↓同等のスクリプトを何回も呼び出させる
http://yakin.38-ch.net/test/read.cgi/zerochplus/1310282996/440

ってところでどうでしょうか

178 :名無しさん@ぜろちゃんねるプラス:2015/03/06(金) 21:16:08.81 ID:u0nASTFk0
ありがとうございます
同一keyを使うのは例えば「管理人からの連絡スレ」のように
共通の専用スレを作るということでしょうか
引用されているCGIも確認してみます

179 :名無しさん@ぜろちゃんねるプラス:2015/06/12(金) 17:36:48.38 ID:VxUiB8Z10
BBQが外部からの参照をシャットアウトしたみたいですが
他にスパムブラックリストの様なプラグイン無いですか?
または作り方の解説とかあれば良いんですが

180 :名無しさん@ぜろちゃんねるプラス:2015/06/22(月) 17:34:38.48 ID:j+GX1vqZ0
UAフィルター の設定は、どの部分にどのような書式で書き込めば良いのでしょうか。

181 :名無しさん@ぜろちゃんねるプラス:2015/07/14(火) 14:25:34.09 ID:kaRM5mOn0
同じ鯖の別ドメインで運用しているphpスクリプトから
myres.cgiにGETなりPOSTなりで値を渡して書き込むことはできますか。


182 :179:2015/08/03(月) 13:22:51.78 ID:tszpDPyN0
スパムブロックのプラグインの作り方がわからなかったのでBBQのアドレスを直接変更して対応しました。

/test/module/galadriel.pl
の1200行あたりからプロクシチェックの設定があるので

push(@dnsbls, 'niku.2ch.net') if($Sys->Get('BBQ'));
push(@dnsbls, 'bbx.2ch.net') if($Sys->Get('BBX'));

の2行のアドレスを適当なDNSBLのアドレスに変更すればいけました。
有効なDNSBLはdnsbl-check.infoとかdnsbllookup.comで調べれば良いです。

2chの書き込みによれば
all.rbl.jp
bl.spamcop.net
zen.spamhaus.org
あたりが良いらしいですが

183 :名無しさん@ぜろちゃんねるプラス:2015/11/04(水) 10:45:05.34 ID:e3ZjdQTx0
書き込みがあると「レス本文の冒頭+レスへのリンク」で140字に収まるようにしてTwitterに自動で投稿するプラグインって作れないものでしょうかね…

184 :名無しさん@ぜろちゃんねるプラス:2016/02/20(土) 04:48:36.07 ID:mzcF2ifn0
新Beは対応出来ませんか

185 :名無しさん@ぜろちゃんねるプラス:2017/11/11(土) 19:05:17.47 ID:YpL0rZ580

プラグインの設置と導入方法を教えてください

私が理解してる流れとしてさくらサーバーで新おみくじプラグインを導入する場合
https://osdn.net/projects/zerochplus/wiki/Codes#newomikuji

1:↓のURLのテキストをコピーしメモ帳を新規作成しペースト。名前を拡張仕事0ch_newomikuji.plにする
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_newomikuji.pl

2:test/plugin/codes/0ch_newomikuji.plのフォルダ構成でアップロード
(codesディレクトリは新規作成)

3:パーミッションの設定を下記参照にcodesディレクトリを[700]、0ch_newomikuji.plを[600]にする
https://osdn.net/projects/zerochplus/wiki/Permission

これで動くと思いましたが動きません。
フォルダ構成が悪いのかと思って最初から内蔵されているプラグインのように
2:test/plugin/0ch_newomikuji.plのフォルダ構成にしてみましたが駄目でした。

テキスト内部にプラグインの機能のオンオフする部分があったりするのでしょうか?

186 :186:2017/11/11(土) 19:21:48.93 ID:YpL0rZ580

さくらサーバーでのぜろちゃんねるプラスの拡張機能プラグインの設置・導入方法
過去ログ検索で自己解決しました。

1:↓のURLのテキストをコピーしメモ帳を新規作成しペースト。名前を拡張仕事0ch_newomikuji.plにする
http://svn.sourceforge.jp/svnroot/zerochplus/codes/0ch_newomikuji.pl
2:test/plugin/0ch_newomikuji.plのフォルダ構成でアップロード
3:パーミッションの設定を下記参照に0ch_newomikuji.plを[600]にする
https://osdn.net/projects/zerochplus/wiki/Permission
4:管理画面→システム設定→拡張機能設定→更新ボタンクリック→
5:プラグイン一覧が出るのでオンにしたい機能にチェックを入れて設定をクリック

187 :名無しさん@ぜろちゃんねるプラス:2017/11/12(日) 11:38:53.78 ID:0NiiY9ar0
スレッド別最大レス数プラグインをスレ主専用コマンドに組み合わせたプラグインってありませんか?

>>スレ立て時にメール欄に「!owner:パスワード:」と入力すると、ホスト名が変わった場合でもメール欄に「!owner:パスワード:!stop」のように入力することでコマンドを実行できます。 ※パスワードの後ろにもコロン「:」があります。


共通キャップではなく、スレ主のIPやスレ立て時のパスワードで最大レス数を変更できたらいいなと思いまして。

188 : ◆B3hX8Wdksg :2017/11/12(日) 19:07:53.70 ID:s0myZN+E0
>>187
> 参考にされたり改造されることを前提としている、つまりサンプルのプラグインです。
ということに尽きますね。

0ch_maxres.plの認証方法は簡素かつ厳格なので、そのままでも特に懸念することは無いかと思います。

0ch_ownercmd.plの認証方式は、他人に再割り当てされ得るIPアドレスだったり、コマンド部分を1文字間違えるとパスワードが流出しかねないなど、掲示板管理者によっては懸念する部分もあるかと思います。


まあ要するに、「ありません」ということです。

189 :名無しさん@ぜろちゃんねるプラス:2017/11/15(水) 06:52:26.01 ID:QXV1yJit0
>>188さん
http://yaruoshelter.com/setumei.html
こちらの掲示板ではIP割当方式で最大レス数の変更ができるので私はパスワード方式のがあれば使いたかったのですが
どうやらそこの掲示板管理者さんが独自改造されたみたいですね。

50KB
新着レスの表示

名前: E-mail(省略可)
READ.CGI - 0ch+ BBS 0.7.4 20131106
ぜろちゃんねるプラス