「スクリプト」を含む日記 RSS

はてなキーワード: スクリプトとは

2022-10-03

AIプログラミングしてもさ

AIスクリプト入力するのは人間なんだよな

で、それが結局プログラミングっぽくなるんだ

そういうイタチごっこが始まりそう

2022-09-30

ユーザインプットシステムキーとして使うな

https://togetter.com/li/1951627

ファイル名って一意に区別される必要があったりソートしたり検索したりするものなんだけど

それをユーザに付けさせるのは完全に悪手なのにほとんどの会社で平然と実施されてるのが大嫌い

例えば悪意を持った社員が他の社員名前ファイルを置くことができてしまうし

悪意が無くてもファイル名を間違えたりするしひらがなだったりカタカナだったり渡辺とか最悪だし

名字名前の間にスペースが入ってたりアンスコが入ってたり全角スペースが入ってたりするし

社員番号を付けさせるルールも全半角の違いとか先頭のゼロを省略とか普通に社員番号を間違えてたりとかもあるわけよ

ただ保存しとくだけのファイルならどうでもいいんだけど

ソートしたり検索したりする場合は致命的になるからユーザ入力は一切信用しないようにしている

なので、この手の依頼で一番よくやるのはメール返送させてメールアドレスのファイル名とかで保存してる

ユーザが付けるファイル名なんてどうでもいい("様式3_山田編集済み.xlsx"とかに丁寧にリネームしてくれる人いるけど一切見てないよ)

当たり前だけどこの処理を手作業でやるわけがなくて、そのためのメールフェッチ&解析できるスクリプト作成動作させるサーバを準備して運用してたんだよね

それなのにこの前の移転サーバ置けなくなって「どうにかおいてくれ」って言ったのにグダグダ言われて廃止

この手の重要性とかを訴えても「社員やらせればいいでしょ(笑)間違える奴が悪い(笑)」みたいな奴しかいない

で、元の記事みたいに「こんなアホな間違えしてる(笑)」とかで嘲笑してるんだけど

そもそもその運用方法がゴミっていうことに気付いてくれないか

「うちの会社はこれからDXを進めます!」

ってアホか ずっと前からやっとったわ

何の才覚もないゴミカスニートになったが気づいたら円安のおかげで半年結構金持ちになってしまった

ガチの子供部屋おじさん41歳

去年の秋に親父が死んで数千万遺産が舞い込んできたんだけど

親父のことはマジで大好きだったので、あまりにつらくて仕事を辞めてしまった

ブラックでもホワイトでもないような会社で社内で開発されてたフレームワークスクリプトしか使えないという辞めたらなんの役にも立たないゴミカスニートになってしまって

母親子供部屋おじさんなのを世間体を気にしていやがってて春頃にはお決まり善意モラハラ攻撃

守ってくれた親父がいなくなり居心地の悪さから人生逆転を狙ってメキシコペソ遺産の半分を突っ込んだ

突っ込んだときは多分ネットニュースとかでよく見る遺産一瞬で溶かすおじさんのお約束パターンだけど、スワップポイント稼ぎだし大丈夫っしょ くらいの気持ちだった

その直後にバイクですっころんで右大腿骨バキバキしてしまって4か月入院 遺産で買った中古ジェイソンは一瞬で廃車、ショックすぎてFXことなんか完全に忘れたまま入院生活

退院が決まった直後くらいに思い出してチェックしたら...

未曾有の円安スワップポイントも含み益も見たことない数字になってたwww レクサス野球チーム作れるくらいの含み益9ケタの預金額初めて見た

遺産相続の時に紹介してもらった税理士さんに相談して、「失礼ながらこれは全くのラッキーで、息子さんの本来の実力ではないのですぐに利確して納税分を確保しましょう」とありがたい?アドバイスいただき

今は納税にかかる額とか、資産運用とかの相談してる 母親には言ってないし多分税理士以外のリアルの知り合いには言わないけど

アプリの通帳の数字見たらどうしてもどこかで言いたくなったので増田に共有することにした

2022-09-28

anond:20220928215632

自分で消したんでないの?

ある増田自分で組んだスクリプト使って自分投稿を消してるって言ってたぞ

まぁ一部の人ツイ廃みたいな投稿量だから

2022-09-27

自炊世界

Stable diffusionがローカル環境やColabで簡単に動くから色々試してた。NSFWフィルタ回避して、呪文こねくり回して、特定人物を描くために画像を集めてfine tuningをして、そこそこ良い感じの画像ができるようになってきたが急に飽きた。

生産性が低いせいだ。結局のところ静止画なので、表現できることは限られている。幾ら作っても実用性に欠ける。

そこで、あまり興味がなかったディープフェイクを調べてみたが、今ひとつだった。内容に限りがある。好きなように作れたら良いが、fine tuningみたいな作業は骨が折れるから、そこまでしてやりたくない。

と思っていた矢先、たった1枚の顔写真を元に動画の顔をすげ替える技術があり、オープンソースで公開されているのを見つけた。少ないが公開されている例を見るに、かなり精度が良いように見えた。

Colabですぐに触れるようになっていたので試したところ、どうやら万能というわけではなくコツが要るらしい。顔がほぼ正面で、かつ、顔がアップではない静止画および動画だと、出来が良かった。顔が相対的に小さくなるように四方に枠をつければ上手く認識された。

可能性を感じたが、Colabであれこれするのも良くないので、ローカル環境を構築した。公開されている環境のtorchのバージョンが低く、手持ちのGPUマッチしなかったため、ハマりまくったが何とかWSL2で環境を組めた。

メモリ32GB、RTX 3090の環境で、フルHDで1分の動画を生成するのに30秒程度かかる。時間がかかりすぎると思うかもしれないが、十分早い。スクリプトを書いて放置しとけば次々に出来るからだ。

あくま個人利用をしていることを前提に結果を述べると、かなり実用性の高いものを生成できることはなかった。生成したものは全部削除した。本当に削除してHDD破壊した。

この域に達してみて分かるのは、この手の技術は本当に危険だと言うことだ。たった1枚の顔写真でこんなことが可能なら、一般人であっても人前に顔を晒すのはリスクが高すぎる。

最近では1枚の画像から解像度アバターを生成する技術も登場しており、大変憂慮すべき事態であるため、今後もあくま個人的に注視していきたい所存である

2022-09-19

LOGLY のおすすめエントリ

ずっと 2018 年の記事ばかり出ていたが、最近のものも出るようになったようだ。

特定の年の記事しか出ず不気味だったが、更新されたらされたで不気味だ。

放置なら分かる。バッチか何かを走らせる意味が分からない。手を入れるとしたら消す一択では。元記事との関連度も低く同じ記事ばかり出ていてネガキャンにさえなっているし。

実行権限がついたままのスクリプトがぽんと置かれていて、誰かが実行してしまったとか、 cron のコメントアウトをうっかり生かしてしまったとか、この間の BAN の作業時のミスと推測してみる。

2022-09-17

anond:20220917204948

こういうのがほんと無理。どうしてそういう無駄な嘘つくん?

なお、ブクマカ犯罪自慢フツーにしてます児童福祉にもいつも敵対的だしね

めんどくせぇからしないけどブクマコメントスクリプトで拾いまくったら結構な量拾えると思う

世界の狭い主婦みたいなメンヘラ発言いい加減にして欲しい

人には愚行権があるのでメンヘラ発言をするなとは言わないが自覚は頼むから持って

不安になるクマみたい(b:Id:zeromoon0)

13. 名無しのおっちゃん

2021年12月18日 19時54分 ID:d72dbad7af (3/4) ID抽出 通報 返信 zeromoon0

https://b.hatena.ne.jp/zeromoon0/

アイコン怪我をしたクマぬいぐるみいらすとや

 

ブログ増田の紹介もしてる増田ブクマカ

不安になる」などのタグブクマする。

インターネット文学大賞では、運営側から高い評価を受けた。

▼あのにますトライバル 

https://webcache.googleusercontent.com/search?q=cache:701KN5djSJkJ:https://nogreenplace.hateblo.jp/entry/2020/07/09/171325

 

それはともかく、定期的にスクリプト使って消してるって言ってたな

ツイ廃みたいなレベル投稿量だからまぁそうなるわな

2022-09-10

Google検索結果が何やってもトラッキングURLに書き換わるの解決した

コンテキストメニュー開いたりリンククリックしたり、なにかするたびにhrefが書き換わって

URLコピーすらままならないゴミ仕様すぎるのがうざすぎたので、なんとか対策した

対策をうたうuserscriptも入れてみたけど、きちんと対応できていないっぽかったので、スクリプト参考に独自対応した

公開したらGoogleがまた更になんか余計に対策すると思うので、俺だけ使います

URL書き換えるとか頭いかれてるだろ。なんでみんな平気なんだろう。visited の色が書き換わったり、ブラウザ履歴https://www.google.com/url?汚染されたり、右クリックからコピーとかアドオンへの転送とか気にならないのだろうか

俺は禿げ上がる寸前で対策できたので、超きもてぃぃぃぃぃぃーーーーー!あーーー!イクイク!!!

ゴミクソGoogleパラノイアじみた監視機能をだし抜いてやってさいっこーーーーーーーーー!!!

2022-09-09

エンジニア視点から見たゲートルーラーデッキメイカー騒動について

※この記事池っち店長誹謗中傷する意図はなく、またゲートルーラーに対して悪意を持って不利益を被らせる意図はありません。

みな様ゲートルーラーを楽しんでおりますでしょうか。私はカードこそ持っていないものの、Twitterでたまに検索をかける等して楽しんでおります

さて、私は数年ではありますが一応ITエンジニアという肩書で働いており、色々なシステムを見てきました。今回のゲートルーラーデッキメイカー騒動エンジニア視点から見ると大変面白くなっている為、こうして書き残そうとした次第であります

以下は全て推測となりますので、ご了承ください。

①4/13の状況

ゲートルーラー公式Twitterから原因の第一報が放たれました。どうやら『DNS登録・反映に時間がかかっている。』のだそうです。

個人感覚ですが、DNS登録や公開は最後最後、つまりサーバに資材(プログラム)を配置してTomcat等を起動し、ローカルホストから接続確認できた後にやる作業だという認識があります。何故なら、資材の配置をせずにDNSを公開した場合ユーザが公開されたURLアクセスしても『404』のエラーを返すだけになってしまうからです。※すみません一般Webサイトの公開には立ち会ったことがなく、間違っていれば言ってください。

ですのでデッキメイカーの公開はあと一歩のところまで来ていると認識していた人が多かったと思います

ちなみに、9/9に公開された『デッキメイカー遅延の原因について、ご説明とお詫び』には資材を『gateruler.jp』にアップしようとしている画像掲載されていますが、仮にデッキメイカーを『gateruler.jp』を同じドメインURL、例えば『gateruler.jp/deckmaker』に作ろうとしていた場合は、そもそもDNS登録必要ありません。

②4/15~5/19の状況

ゲートルーラー公式Twitterから続報がありました。原因不明問題アップロードできず、専門家解決にあたっているとの事です。

私はてっきり4/13の段階でもうサーバに資材がアップロード出来ていると思っていたので驚きました。

アップロードができないということはファイル容量の問題ネットワーク問題サーバが起動していない等が考えられます

③9/9 今回の騒動

公式サイトに『デッキメイカー遅延の原因について、ご説明とお詫び』がリリースされました。

とても読み応えのある文章と共にスクリーンショットが数枚貼られています大事な部分はレンタルサーバサーバパネルと、その下のスクリプトです。

まず、『「アップロードしようとするとエラーを表示する画面が出る」というアプリケーションがAによって仕込まれていました。』とありますが、スクリプトを見るにこれが仕込まれていたのはデッキメイカーアプリケーション自体ではなく、サーバに資材をアップロードするHTMLファイルです。ですがこれはおかしな話です。ゲートルーラーは『Xerver』と言われるレンタルサーバを利用しているとみられますが、このサーバパネルは『Xerver』が提供しているサーバ管理する画面と考えられるので、そこにスクリプトを忍ばせる余地は無いはずです。スクリプトを忍ばせるなら、このサーバパネル画面のHTMLローカルに保存し、HTML内にスクリプト記述して、そのHTMLブラウザで表示する必要があります。画面にはURLが映っておりませんが、恐らくローカルにあるHTMLをそのまま表示しているからではないでしょうか。

もし仮に解決にあたっている専門家が居たとして、資材がサーバアップロードできない問題を1ヶ月かけても解決できないのであれば、それは素人と言わざるを得ないです。そもそもローカルHTMLを直接開いている前提からおかしな話なのですが、雑なスクリプトが仕込まれたこの画面を見て原因の切り分けを行わないエンジニアはほぼ居ないでしょう。

ちなみに『Xserver サーバパネル』で画像検索するともう少しリッチな画面が出てきます不思議ですね。

※ここに書いている事は推測にすぎません。真実を知っているのはあの人だけです。

2022-09-05

彡(^)(^)「はてなーの皆に今日はお願いがあるんや!」

彡(^)(^)「はてなーのみんな!ワイはなんJ民や!」

彡(゚)(゚)「ちょっと今日は皆にお願いしたいことがあって来たんや」

彡(;)(;)「なんJ民は『なんG』って板に活動の場を移したんやけど 昨日からスレを建てども建てどもスクリプトが湧いてきて実況もままらない状況なんや

彡()()「しかもそのスクリプト絵文字を連発するスクリプトで、容量を圧迫してしゃーない…」

彡(●)(●) 「このままではワイら存続の危機や…絶滅してしまうかもしれん」

彡(^)(^)「せやからちょっとの間ここをなんJ民に間借りさせて欲しいんや」

彡(゚)(^)「あんさん人口減に悩まされとるんやろ?血気盛んななんJ民が流入すれば賑やかになってよりよいSNSになるで!」

彡(^)(^)「そういうことで ええ返信待っとるで!ほな!!」

2022-09-04

anond:20220904194117

Vue.jshtmlのような一度記述するとファイル更新するまで記載内容を変えられないようなファイル(静的ファイルと言います)をユーザーボタンなどの操作を行うことで、Google Chromeなどに表示された後でも、htmlの内容を随時更新させるような仕組みを提供してくれるツールです。

HTML構造体と呼ばれる設計図ですが、Vue.jsというのはJavascriptジャバスクリプトと呼びますJava(ジャバ)ではありません。メロンメロンパンくらい意味が違います。)とよばれるスクリプト型のプログラム言語をより書きやすく、かつ使いやすくした新世代のJavascript一種です。

anond:20220904092345

ワイは「真面目」で「責任感が強く」て「押しに弱い・断れない」タイプに見えるらしいが、

実際はキレると止まらなくなるタイプやで

宗教勧誘とかで連絡先教えてこようもんなら鬼凸しまくったるで

ラインスクリプト組んで2分に一回は送るで。

2022-09-01

twitterサークルを便利に使っている

事情からアカウントを転生しなければならなくなったら、新アカウントtwitterサークル機能実装されていた。

テスト実装当時から割とマイナスっぽい意見が目立ってるが、自分は便利に使っているので、雑感を書いておく。

タイムライン検索からくるアカウントを実質シャットアウトできる

例えば「この先生きのこるには」みたいなツイートにやってくる「きのこ大好きbot」(※同様のアカウント実在していたら申し訳ない)みたいな、明らかに文脈を読んでないようなスパムbotアカウントからの反応が来なくなる。ツイログtogetterではサークル機能を使ったツイートが表示されるみたいだが、そういうアカウントタイムライン検索だけのプログラムスクリプトを組んでいるので、ツイログからわざわざやってくることはない。謎通知が減ってとても快適。

あと、平たく言うと「検索除け」にもなる。自分所属しているのはちょっと込み入った界隈で、エゴサ及びタイムライン検索が活発なジャンルなんだけど、「エゴサはしてほしいけどタイムライン検索には引っかかってほしくない」ときに便利。エゴサをしていると公称している人間関係者サークルにぶち込んでいる。

たまに見るvote垢やビルボ垢(詳しくは各自検索)も検索邪魔なだけなので、サークル機能検索除けしてくれないかなと思っている(今は見かけたら全てスパブロ報告している)。

・軽めのストーカー対策になる

上の理由派生っぽいけど、一応別立て。該当者がタイムライン検索から来たり、ツイログから来たり、「ツイートと返信」欄を根こそぎ観察していると思しき行動があって、対処にめちゃくちゃ手を焼いた。転生理由がまさにこれ。(これ以上の説明は控えさせてください)

まあこれも同様に、タイムライン検索シャットアウトできる時点で一定の効果はある。ツイログは取らなければok。取りたい場合は他のサービスを使って、プロフ欄にリンクを貼ったりしないこと。

ただし、ストーカーしてくる人間がこの程度の目くらましで発狂が進むタイプだと逆効果なので、よく見極めて使うこと。少なくとも自分には効果があった。


ストーカースパムbotも等しく絶えるべしとは思うが、twitterバルスには限界があるので、このような機能実装したのかもしれない。

まりサークル機能は「特定の最大150人に向けてツイートする機能」ではなく、「特定の最大150人以外からタイムライン指定ツイートを見えなくする機能」として理解した方がいいのかもしれない。

2022-08-25

midjourneyは学習させる画像セレクトしていて、Stable Diffusionは単純にスクリプトで集めてきただけでは

midjourneyはpinterestのような人の目が入っているかクオリティが高いかランキング上位の画像を集めてきているのでは。

Stable Diffusionは単純にスクリプトで集めてきた感じ。玉石混交

多分ここがワクワク感の差になっている気がする。

[]

ああなんか面白いことないかな?片づけ?断捨離?なんでもいいか執筆すること?分解清掃とか楽しそう。こうやって毎日毎日こちょと書いている中身を元に半自動的にYoutube動画を作るスクリプトかなにか生成したい。それでもって収益化できるところまで持ち込む。ひたすらパン食っているところだけのおっさんYoutubeもおそらく収益成功しているよだ。それみると、収益化ってそんなに高いハードルでもないような。stable diffusionとかいうの使いこなせるようになると文字だけの情報から適当に描いてくれるのか?大量生成させてそれらを元に紙芝居風の動画スライドショー)に仕立てればいい。

2022-08-22

AIのべりすとを利用したスクリプトで埋め尽くす荒らしって出てきそうで出てきてないな

荒らしスクリプトを組める技術を持った人材ネットから消えたからか?

2022-08-15

Webはてブミュー機能作った

勝手に tampermonkey とかに突っ込んで使ってヨロ

スクリプト保守とかするつもりないから、保守とかするつもりのあるパワーの溢れた人が

これ参考とかにしてもっとかっちょよくしたのを greasy fork あたりに公開してくれ

そしたら俺もそれ使う

使い方:

ブラウザの開発環境を開いて、開発コンソールを開く

localStorage.hatebu_ng_word_list に非表示トリガーになる文字列を|区切り登録する。

localStorage.hatebu_ng_word_list = "池田信夫|フェミ|弱者男性|やまもといちろう"

実際のコード

大なり小なり(>)が実体参照で表示されるのはよくわからん。使う人で適宜コードを直してくれ。

// ==UserScript==
// @name         はてブの一覧NG記事非表示
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       masuda
// @match        https://b.hatena.ne.jp/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=hatena.ne.jp
// @grant        none
// ==/UserScript==

(function() {
	'use strict';

	if (!localStorage.hatebu_ng_word_list) {
		return;
	}
	console.log("はてブの一覧NG記事非表示", localStorage.hatebu_ng_word_list);

	/*
	 * 例:
	 * localStorage.hatebu_ng_word_list =
	 * "池田信夫|フェミ|弱者男性|やまもといちろう|togetter.com";
	*/
	let words = localStorage.hatebu_ng_word_list.split('|').map(w => new RegExp(w));

	function entryDelete(els) {
		els.forEach(el => {
			let hit = false;
			words.forEach(w => {
				hit = hit|| w.test(el.textContent);
			});
			if (hit) {
				el.remove();
			}
		});
	}

	// entrylist-header-main li 1つ目のアイテム
	entryDelete(document.querySelectorAll('.entrylist-header-main > li'));
	// 2つ目以降の li アイテム
	entryDelete(document.querySelectorAll('.entrylist-item > li'));
})();

文字正規表現として評価されて、ヒットした記事項目をページから削除する(DOMから要素を削除する)。

際限なくNG登録できるけど、沢山非表示するとつまらない一覧になる

2022-08-11

anond:20220811213813

どういうタイプえっちなげーむを作りたいのかで色々変わるな

えっちRPGを作りたい→ツクールを勧める

えっちテキストアドベンチャーを作りたい→eraを勧める

えっちビジュアルノベル(いわゆるエロゲー)をつくりたい→吉里吉里ティラノスクリプトを勧める

2022-08-01

トラバされる限りそのトラバトラバを返し続けるスクリプトって5chの自動安価スクリプトより作るの難しいのかなあ

リーの末端にくっつくのにも複数パターンがあるから判定させるの地味に大変そう

anond:20220731183342

自動安価をつけて返信するプログラムでもこんなに長く複雑になる(一部抜粋) 

/**************************************

以下のCSV_DIR, FILE_PATHS, SETTINGSを書き換えてね。 <h3>o- *************************************/</h3>

//CSVファイルが置かれてるディレクトリパス投稿前にエラー出たら大体ここの設定ミス。 例:"C:\\Users\\sakuraimasahiro\\Documents\\iMacros\\Macros\\rentou\\";

const CSV_DIR =

'C:\\Users\\USER\\Desktop\\iMacros\\Macros\\rentou\\';

//ファイルパスCSV絶対パスで、拡張子必要。iimは相対パスでよく、拡張子不要

const FILE_PATHS = {

//投稿文が書かれたCSVファイル

textCsv: CSV_DIR + 'textNoAnker.csv',

//レス投稿文が書かれたCSV。通常とレス用で分けないなら同じファイルを使えばいい。

replyTextCsv: CSV_DIR + 'textReply.csv',

};

const SETTINGS = {

//投稿後の基本待ち時間

baseWaitTime: 5,

//baseWaitTime+0~waitTimeRange(ランダム)だけ待つ

waitTimeRange: 5,

//連投しすぎだと忠告された場合に処理を一時停止させる時間(秒)

waitTimeForAvoidingPunishment: 60 * 30,

//メール

mail: 'sage',

//名前設定

nameSettings: {

//名前名無しなら''。

name: '',

//以下、偽装ワッチョイ設定。浪人ワッチョイを非表示にしてるときだけtrueにしてね。

//妙なニックネーム(ワッチョイ、アウアウウーなど)をランダムで決めて付加するかどうか。true=付加する。false=付加しない。

nickname: false,

//妙なニックネームの後に付く8桁の文字列ランダムで決めて付加するかどうか。

korokoro: false,

//IPランダムで決めて付加するかどうか。

ip: false,

//地域ランダムで決めて付加するかどうか。

area: false,

},

postSettings: {

//アンカー無し投稿をするならtrue。しないならfalse。noAnkerPostかreplyPostのどちらかはtrueにすること(両方trueでもOK)。

noAnkerPost: false,

//アンカー付き投稿(返信)をするならtrue。しないならfalse。もしnoAnkerPostとreplyPostの両方がtrue場合投稿は返信が優先され、返信対象が見つからなくなったらアンカー無し投稿をする。

replyPost: true,

//最初に取得するアンカー無し投稿CSVファイルの行番号。もし返信用と同じCSVファイルを使うなら-1と入力

noAnkerPostTextCsvStartRow: 1,

//最初に取得する返信用投稿CSVファイルの行番号。もしアンカー無しと同じCSVファイルを使うなら-1と入力

replyPostTextCsvStartRow: 1,

//テキストCSV/返信用テキストCSVの取得行が最終行に達したら最初の行まで戻るかどうか。true=戻る。false=マクロ終了。

textCsvLoop: true,

//返信する場合、これより小さなレス番には返信しない。返信を投稿すると、この数値は前回の返信先のレス番に更新される。

minAnker: 895,

//返信する場合名前に以下の文字列を含む投稿アンカーをつけて返信する(ワッチョイやIPなど名前フィールドにあるものならなんでも可)。配列複数指定可能指定無しなら空配列([])。filterNamesとfilterNamesNotIncluded共に無指定ならレス番1から順に返信していく(minAnkerが設定されてればそこから順に)。以下のfilter系は全て併用可能

filterNames: [],

//↑とは逆に、名前に以下の文字列を含まない投稿アンカーをつけて返信する。↑と併用も可能

filterNamesNotIncluded: [],

//返信する場合、本文に以下の文字列を含む投稿アンカーをつけて返信する。

filterText: ['自演かな', '自演わらわら', 'スクリプト使うの', '安価ガバ', '>>660', '自演擁護', '最後' ,'あいうえお', 'かきくけこ', 'さしすせそ', 'なにぬねの', 'はひふへほ', 'まみむめも', 'やいゆえよ', 'やゆよ', 'らりるれろ', 'わいうえを', 'わをん', 'わいうえをん'],

},

//自分IPアドレス確認VPNとかでIPを変更してマクロを動かしてるとき、突然VPN作動しなくなってIPが元に戻ったときマクロを止めるためのもの

ipSettings: {

//自分現在IPアドレス確認をする。

checkIp: true,

//以下の文字列自分現在IPアドレスに含まれている場合マクロを一時停止する。基本的自分の本当のIPアドレス入力

avoidTheIp: '133.206.99.224',

},

//浪人設定。最後動作確認したのは5年くらい前で、今も同じように動作するかは、浪人を持ってないか確認できずわからない。

roninSettings: {

//浪人ログインしてるかどうかをチェックするかどうか。trueらするfalseならしない。trueにしていてもし浪人ログインしていないことを確認したらログインしにいく。

checkLogin: false,

//浪人ログインメールアドレス

mailAdress: 'abc@def.com',

//浪人ログインパスワード

password: '1234',

},

//false: run()実行させず(デバッグ用)

run: true,

//true: 投稿処理だけしない デバッグ

skipPost: false,

};

/**************************************

設定箇所終わり。

書き込めない時の早見表 - 5ちゃんねるwiki

https://info.5ch.net/index.php/%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%81%E3%81%AA%E3%81%84%E6%99%82%E3%81%AE%E6%97%A9%E8%A6%8B%E8%A1%A8 <h3>o- *************************************/</h3>

/**************************************

メモ

クラスフィールド宣言できない。

・NULL演算子(??)は使えない。論理積(&&)は使える。

オブジェクトの分割代入はできない。

・importはできない。 <h3>o- *************************************/</h3>

/**************************************

関数 <h3>o- *************************************/</h3>

/**

* ここから始まる。

*/

function run() {

//設定ミスがないか調べる。

checkSettings();

var _TextCsvCursors = new TextCsvCursors(

new TextCsvCursor(

SETTINGS.postSettings.noAnkerPostTextCsvStartRow > 0

? SETTINGS.postSettings.noAnkerPostTextCsvStartRow - 1

: SETTINGS.postSettings.noAnkerPostTextCsvStartRow,

FILE_PATHS.textCsv,

SETTINGS.postSettings.textCsvLoop,

),

new TextCsvCursor(

SETTINGS.postSettings.replyPostTextCsvStartRow > 0

? SETTINGS.postSettings.replyPostTextCsvStartRow - 1

: SETTINGS.postSettings.replyPostTextCsvStartRow,

FILE_PATHS.replyTextCsv,

SETTINGS.postSettings.textCsvLoop,

),

);

var _LoopStatuses = new LoopStatuses(0, SETTINGS.postSettings.minAnker);

const _MyPosterName = new MyPosterName({

name: SETTINGS.nameSettings.name,

});

//スレURL指定

const _ThreadUrl = openPromptThreadUrl();

//ループ

while (true) {

//IP確認する設定なら、それをする。

SETTINGS.ipSettings.checkIp && checkCurrentIpNotTheIp();

//スレを開く

openUrl(_ThreadUrl.fullUrlHttps());

//浪人ログインする設定なら、浪人ログインしているかどうかを確認し、していなければログインしにいく。

if (SETTINGS.roninSettings.checkLogin) {

if (!checkRoninLogin()) {

loginRonin();

continue;

}

}

//投稿に使うテキスト取得。

const p = (function () {

if (SETTINGS.postSettings.replyPost) {

//返信あり設定の場合。返信対象が無いか調べる。

const targetAnkerNumber = createPostDOMList()

.filterPostnumberHigher(_LoopStatuses.currentMinAnker())

.filterByPostername(SETTINGS.postSettings.filterNames)

.filterByPosternameNotIncluded(

SETTINGS.postSettings.filterNamesNotIncluded,

)

.filterByText(SETTINGS.postSettings.filterText)

.lowestPostNumber();

if (targetAnkerNumber !== null) {

//返信対象があったのでアンカー付き投稿文を作る。

const r = _TextCsvCursors.takeNextRowTextAsReply(targetAnkerNumber);

messageDisplay(`返信対象有り。アンカー先: ${targetAnkerNumber}`);

return {

...r,

updatedLoopStatuses:

_LoopStatuses.updateMinAnker(targetAnkerNumber),

};

}

}

if (SETTINGS.postSettings.noAnkerPost) {

//返信対象無し、或いは返信しない設定の場合アンカー無し投稿文を作る。

const r = _TextCsvCursors.takeNextRowTextAsNoAnker();

messageDisplay('返信対象無し。アンカー無し投稿。');

return {

...r,

updatedLoopStatuses: _LoopStatuses,

};

}

return null;

})();

if (p) {

//投稿

postThenCheckError(

_ThreadUrl.serverName(),

_MyPosterName.randomize({

nickname: SETTINGS.nameSettings.nickname,

korokoro: SETTINGS.nameSettings.korokoro,

ip: SETTINGS.nameSettings.ip,

area: SETTINGS.nameSettings.area,

}),

SETTINGS.mail,

p.text,

);

//_TextCsvCursorsと_LoopStatusesを更新

_TextCsvCursors = p.updatedTextCsvCursors;

_LoopStatuses = p.updatedLoopStatuses.incrementPostCount();

messageDisplay([

`投稿回数: ${_LoopStatuses.currentPostCount()}`,

`minAnker: ${_LoopStatuses.currentMinAnker()}`,

`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,

`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,

]);

} else {

messageDisplay([

`返信対象が現われるのを待機中...。`,

`投稿回数: ${_LoopStatuses.currentPostCount()}`,

`minAnker: ${_LoopStatuses.currentMinAnker()}`,

`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,

`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,

]);

}

//短時間で連投しまくると規制されるので一定時間待機。

wait(SETTINGS.baseWaitTime + randomRange(0, SETTINGS.waitTimeRange));

}

}

/**

* 投稿処理と投稿結果を見てリトライしたりマクロ終了したり。

* @param {string} serverName サーバー

* @param {MyPosterName} _MyPosterName

* @param {string} postMail メール

* @param {MyText} _MyText

* @param {number} retryTimes

* @returns {void}}

*/

function postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes = 0,

) {

const r =

retryTimes === 0

? new ValuesOfPost(serverName, _MyPosterName, postMail, _MyText).post(

postTo5chTread,

postConfirm,

)

: new ValuesOfPost(

serverName,

_MyPosterName,

postMail,

_MyText,

).postSubstring(retryTimes, postTo5chTread, postConfirm);

if (r) {

back();

return;

}

//エラーページに飛ばされた。エラー情報取得。

wait(7);

const error = createPostErrorMessage().analyze();

messageDisplay(error.message);

if (error.order === 'KILL') {

kill();

} else if (error.order === 'SKIP') {

return;

} else if (error.order === 'TRUNCATE') {

back();

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes + 1,

);

} else if (error.order === 'WAIT') {

wait(SETTINGS.waitTimeForAvoidingPunishment);

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

} else if (error.order === 'LOGIN') {

//動作未確認

return postThenCheckError(

serverName,

_MyPosterName,

postMail,

_MyText,

retryTimes,

);

}

return;

}

/**

* 現在IPアドレスに、SETTINGS.ipSettings.avoidTheIpの値が含まれていないことを確認する。含まれていたらマクロを一時停止。

* @returns

*/

function checkCurrentIpNotTheIp() {

//IP確認ページへ飛ぶ

openUrl('https://www.cman.jp/network/support/go_access.cgi');

const _IpAdress = createIpAdressFromCMan();

if (_IpAdress.includes(SETTINGS.ipSettings.avoidTheIp)) {

pause('現在IP指定した値が含まれていることを確認。');

//ポーズ解除したならもう一度確認しに。

checkCurrentIpNotTheIp();

}

return;

}

/**

* 設定に致命的な問題が無いか検査

* @returns

*/

function checkSettings() {

if (

SETTINGS.postSettings.noAnkerPost === false &&

SETTINGS.postSettings.replyPost === false

) {

return kill('設定エラー。noAnkerPostとreplyPost両方ともfalseになってる。');

}

if (

SETTINGS.postSettings.noAnkerPostTextCsvStartRow < 0 &&

SETTINGS.postSettings.replyPostTextCsvStartRow < 0

) {

return kill(

'設定エラー。noAnkerPostTextCsvStartRowとreplyPostTextCsvStartRow両方とも-1になってる。',

);

}

if (

SETTINGS.postSettings.noAnkerPostTextCsvStartRow === 0 ||

SETTINGS.postSettings.replyPostTextCsvStartRow === 0

) {

return kill(

'設定エラー。noAnkerPostTextCsvStartRow/replyPostTextCsvStartRowの初期値は-1或いは1以上で。',

);

}

}

/**

* 入力フォームを表示して入力されたスレURLを受け取る。

* @returns {ThreadUrl}

*/

function openPromptThreadUrl() {

const url = prompt('スレURL入力');

return new ThreadUrl(url);

}

/**

* 開いてるスレレス全て読み取ってPostListインスタンスを作って返す。

* 重すぎるので使うのやめ。どうやらインスタンスの大量生成が原因な模様。

* createPostDOMListを使う。

* @returns {PostList}

*/

function createPostList() {

const posts = window.document.getElementsByClassName('post');

return new PostList(Array.from(posts).map((e) => new Post(e)));

}

/**

* 開いてるスレレス全て取得してPostDOMListに格納して返す。

* @returns

*/

function createPostDOMList() {

const posts = window.document.getElementsByClassName('post');

var arrPostDOMList = [];

for (let index = 0; index < posts.length; index++) {

//HTMLCollectionからElementを1つずつ抽出して配列に。

arrPostDOMList.push(posts.item(index));

}

return new PostDOMList(arrPostDOMList);

}

/**

* 開いてる投稿結果画面に表示されてるエラーを読み取ってPostErrorMessageインスタンスを作って返す。

* @returns {PostErrorMessage}

*/

function createPostErrorMessage() {

return new PostErrorMessage(

window.document

.g Permalink | 記事への反応(0) | 15:40

[]2022年7月増田

記事文字数文字数平均文字数中央値
012259238776105.746
022358272729115.748
032940332898113.244
042579301193116.848
05260824677894.644
06241123585997.842
07310528648492.338
08465136224277.934
09364530351183.341
10363132501789.540
11316929626693.541
12339532128694.641
133140315903100.645.5
14364830912884.742
152546274823107.943
16251824768698.447
172339241855103.446
182799284198101.545
192502267449106.944
202998312061104.147
212794299714107.342
222425271356111.945
232210229472103.848
24227921292493.439
25228020262188.941
26274422969583.739
27244722636692.540
28270426256897.144
29228520665290.440
30366124207266.126
31248822177889.139
1月87558838136095.742

頻出トラックバック先 ()内の数字は被トラックバック件数

バンド名っぽいIT用語をたくさん教えてクレークレー /20220724140709(126), ■男の人ってなんで占い嫌いなんだろ /20220719145503(107), ■エロ漫画性犯罪助長してた /20220720134218(104), ■配偶者ごはんを食べない /20220728081325(76), ■そろそろ若者が知らなそうなCM /20220731143803(64), ■新築トイレで揉めている /20220731004837(61), ■レベルという概念のあるゲームが完全に時間無駄に思えてきた /20220616231129(59), ■京都人ディスりはいい加減うんざりするのでやめて欲しい /20220630133829(56), ■看護師になった妻が泣きながら帰ってくる /20220719173639(54), ■しか山上歴史に残るShootingだったよな /20220714231019(54), ■恋愛弱者大学生がなぜ恋愛無理ゲーなのか書く /20220724042108(53), ■ニートを養えない親って幼稚すぎるよな /20220702233906(53), ■みんなの仕事やらかしを教えてほしい /20220704213243(52), ■女子スポーツを観る理由について /20220523091700(51), ■「表現自由派」と「表現規制派」の対立など存在しない /20220701074807(48), ■ファッションに興味ない人がダサい服装してるのが意味からない /20220311005809(46), ■婚活苦戦してるので相談婚活の楽しくない話もする /20220703110217(46), ■教養を身に付けられる本を教えて欲しい。 /20220720124155(46), ■(追記有)子供の性欲をどうやって解消するか /20220721111925(46), ■フェミ界隈のトランス差別どうにかなんないかな /20220727150950(43), ■妻が聞きにくる夫婦が圧倒的に多い /20220713145909(43), ■男性ピルについて知ってほしい /20220712225602(41), ■婚活で会う整ってない顔の人を好きになりたい /20220711074058(41), ■思い出のゲームあげていけ /20220708135130(41), ■anond20220719145503 /20220720085631(39), ■誤字報告は有難いけど、チェックは頼んでないんだよなぁ… /20220720110433(37), ■ /20220729194901(37), ■山上はもうヒーローだろ /20220718205658(37), ■「正しさ」に窒息しそう /20220702070421(36), ■戦国時代ドローンジャベリンがあったら /20220724103302(36), ■はてブ性格が悪い人向けのサービスであることに気付いた /20220712195741(36), ■GAFAMで言えない言葉 /20220726084330(35), ■主人公初体験が描かれている漫画 /20220723224334(34), ■地獄をナメるなよ /20220724075709(33), ■5chがスクリプト荒らし運営無能によって崩壊しそうでヤバい /20220710104348(33), ■結局さ女の人って男が「セクハラ加害者になること」をどれだけ恐れてるかってのがわかってないんだよね /20220727134248(33), ■おばあちゃん死んでくれ /20220704060506(33), ■男だが生理の話がオープンではないという感覚が正直よくわからん /20220728110543(33), ■フェミ喧嘩したレズ日記 /20220725152520(32), ■フィールド変えても2発目当てる漫画家ってやっぱすごいなと思う /20220722101743(32), ■おっさんオタク共通話題Vtuber)についていけずしんどい /20220731045836(32), ■イラスト陰毛を描くのをやめろ /20220719163442(32), ■anond20220712001212 /20220712051434(31), ■シャングリラかいうとりあえずタイトルにされるよくわからない概念 /20220721102555(30), ■SNSブコメでの素人的外れっぷりがひどいと感じたことある? /20220720094615(30), ■自分の周りはみんな投票行ってるのになんでこんなに投票率低いの? /20220710231243(30), ■カルトかどうかよりお布施制限したほうが良くない? /20220720161035(30), ■30代前半の若者だけど安倍首相には感謝気持ちしかないよ /20220712182846(30), ■1980年代まれ90年代後半~00年代前半に若者だった世代だけど今どきの若者からしたらキチガイ人物扱いなんだろな /20220703132033(30), ■消費者金融キャッシング枠を使った事がある人の体験談が聞きたい /20220720101306(30), ■ガチ日本って終わった?建前とか /20220729060006(30)

2022-07-30

anond:20220730193425

こういう荒らしは通常スクリプト組むんだけど

村上増田のことだから手打ちしてそうなんだよな

というか、この程度の連続投稿だと間隔が空きすぎてて運営が検知してない可能性ある。

スクリプトで連打系ならすぐにわかるけど。

ログイン ユーザー登録
ようこそ ゲスト さん