■掲示板に戻る■ 全部 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 でレスが書き込まれた後、スレストされます。

52KB
続きを読む

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