はてなキーワード: てStとは
近頃平野君と神宮寺君の、というか脱退ジャニーズ関連のニュースが世間を騒がせている。
ジャニーズが卒業・脱退・解散する、というニュースを聞くたびに、私は手越のことを思い出して苦しくなる。
・
なんでこのタイミングで書き起こそうと思ったかというと、前述のキンプリの騒動をはたから見る中で、そろそろ一度振り返ってみてみてもいいんじゃないかと思ったからだ。
というか、オルタネートを書いた加藤さんではないけれど、あの出来事から3年という長い月日がたって感情的ならずに思出せるようになって、でもこれ以上離れてしまったらきっと気持ちも記憶も色あせてしまうから、「今」が最初で最後のタイミングなんじゃないかと思った。
・
何を話すかといわれると難しいが、結局のところ手越のことをどう思っているかというお気持ちと思い出をたどるための文章である。
・
どこから話そうか迷ったが、時系列順で話すのが一番いいのかもしれない。
・
なんか女子が騒いでるなあという感じで、当時の関心ごとといえばサッカー観戦、ポケモン、イナズマイレブン、受験勉強、ライトノベル、あとはおままごととかだろうか。
でもVS嵐も、イッテQも、地獄先生ぬ~べ~も、鉄腕ダッシュも見ていたし、キスマイの光のシグナル(ドラえもんの主題歌だった)も大好きだった。
・
彼女は歌がうまくて、カラオケが好きで、そして増田担だった。彼女とカラオケに行くと、親友は必ずNEWSの歌を入れる。
当時4+FANの合いの手のリズムがわからなくて苦戦したのをいまだに覚えている。
友達が歌う曲をどうせなら一緒に歌えるようになりたいと思うのがカラオケ好きの性である。
親友に頼んでNEWSのCDを貸してもらい、聞いてみたのが多分2017年。
まずNEWSの歌にはまった。
アルバムを4つくらい借りたのでそりゃ一曲くらい好きな曲もできるし、テゴマスは当時から歌がうまかった。
歌番組の時に親友からアナウンスがあったので、時間が合えば見ていた。
当時日テレっ子だった私は、イッテQで手越を、everyで小山さんを知っていた。
気づけば親友からはテレビドラマやバラエティの番組情報のアナウンスも入るようになり、私はNEWSをしっかり好きになっていた。
親が厳しかったためにファンクラブは入れず、ライブも行けなかったが、私は私なりの最大風速でNEWSのことが好きだった。
・
それから2020年まで、のんびりと、自分なりの距離感ではあったが「好き」を貫いていた。
2020年2月、NEWS LIVE TOUR 2020 STORYの当落発表があった。
2017年のNEVERLAND、2018年EPCOTIA、2019年のWORLDISTA、最後に2020年STORY。
4つのライブの頭文字をつなげると「NEWS」になるこの4作品は、通称「4部作」と言われるもので、NEWSにとっても、ファンにとっても思い入れの深い、大事な大事なライブだった。
「STORY(アルバム)」にはファンの将来の夢が収録された楽曲や、メンバーからファンに向けてつづられた思いのこもった楽曲、9人時代からの気持ちに言及するような楽曲、インタビューなどがふんだんに盛り込まれていた。
チームNEWS全員にとって本当に大切なアルバムで、私たちはSTORYのライブの成功を心から願っていたし、心から信じていた。
・
・
様々なイベントの中止が決まっていった。
「来月にはこのパンデミックが収まる」と信じて駆けずり回ってくれた方がどれだけいたのだろう。
大きな会場を抑えてファンのために準備してくれていた。
ライブ直前のラジオ内で行われたマジカルバナナ的なゲームでは、「準備万端といえば?」「「「「STORY!!!」」」」と4人で口をそろえて言ってくれていた。
河川敷をランニング中、桜の舞う中で聞いたその言葉を今でも覚えている。
しかし準備万端だったはずのライブは一公演一公演丁寧に中止を重ねていき、結局全公演中止になってしまった。
実はあの当時、ファンの間でうっすら「STORYが終わったらNEWSは解散or 何かしら節目を迎えるのでは?」という空気があった。
実際どうだったのかは本人たちに聞かないとわからない。
それでも、STORYに込められた気持ちはそれだけ大きかったのだ。
「この作品が最後なのかもしれない。そんなことはあってほしくないけれど、もしそうであれば、悲しいけれどきっとどうにか受け入れることができると思う。」
時が来れば必ず報われると思っていた努力が、世界規模の不幸によってぶち壊されてしまう気持ちは痛いほどわかる。
この辺は一回全員back number 『水平線』と 「入学から、この世界だった僕たちへ。」を聞いてきてほしい。
当時高校生だった私も何度も泣いた。
当時仲の悪かった母親に背中をさすられながら、夜中に号泣したこともある。
高校生活の中で最も大事な思い出になるはずだった最後の合宿が、文化祭が、体育祭が、すべてがなくなってしまうやるせなさに、どれだけ頑張っても結局行われなかったそれらにたいして、声をあげて泣くことしかできなかった。
・
彼らは底抜けに明るかった。
少なくとも明るくあろうとしてくれた。
まあ彼らに救われたことに関して詳しく書こうとすると長くなるので割愛するが、ジャニーズWESTと出会ったことで私のジャニーズの世界は大きく広がっていた。
NEWSはびっくりするぐらいジャニーズ内での縦のつながりがない。
気がする。
あったらごめん。
小山さんと手越からちらほら後輩の名前が挙がっていたくらいで、残りの二人に関しては正直ほとんど思い出せない。
加藤さんは正門君と如恵留くんがまあ居るか?と思ったが、名前が出始めたのはコロナ後かもしれない。
少なくともグループ全体でかかわりの深い後輩グループみたいなのはなかったと思う。
NEWSしか見ていなかった時代、全員顔と名前が一致していたのは正直NEWSと嵐とTOKIOだけだった。
ジャニーズWESTはそこが大きく違った。
関西での縦の結びつきは、とんでもなく強かった。
WESTと仲のいいだれだれが出ているなら、時間もあるし見てみよう、という感覚で、芋づる式に「顔と名前とざっくり性格くらいまでなら把握している」程度のジャニーズが増えていった。
・
とまあそんな時期、手越が飲んでた。
外で、女の子呼びつけて。
「ねーわ」って思った。
でもまあ手越だし。
そういうやつだし。
そりゃ謹慎くらいするべきやろうけど。
文春では退所報道とかもあった。
正直なところ不安も大きかった。
Johnny’s world HAPPY LIVE with YOUが発表され、NEWSが3人で出演すると知ったときは動揺した。
見るのが怖かった。
それでもNEWSが好きだったから、あとこれは余談だけど、同じ日の出演者がジャニーズWEST(推し)とHey! Say! JUMP(当時好きだった女の子の推し)だったのでその日の配信チケットを買わない選択肢はどちらにしろ無かった。
・
・
泣いた。
それはもうボロボロ泣いた。
・
「クローバー」:NEWSからファンへのメッセージソング、4人それぞれが自分のパートの歌詞を書いた。手越のソロパート前半は歌わず、後半は3人で向かい合って歌った。
「weeeek」:6人時代からずっと歌っているライブの定番曲であり、代表曲。
「UR not alone」:4人の代表曲。ライブの最後やアンコールで必ずうたわれる名曲。ラスラビの手越のソロパートはこちらも歌唱ナシ
・
手越のソロパート部分を歌わないという選択をした三人を見て、三人は手越の帰る場所を守ってくれているのだと思った。
ほかの2グループがアイドルらしいきらびやかな衣装で華やかな曲を歌っていて、言い方を変えれば自分たちのファン以外の子たちにも楽しんでもらえるような、それでいて自分たちのファンにも愛を届けられるような、そんなバランスの取れたセトリを組んできたのに対して、NEWSははなからNEWSのファンと、それから手越のことしか見ていなかった。
状況が複雑な中、語ることを選ばなかったのかもしれない。
当然だろう。
でもそれと同じくらい、手越さんが一番輝くステージで、ライブという空間で、歌を歌うことで、私たちに、彼に、語りかけようとしてくれたんじゃないかと思う。
私は手越の部分の空席をあえて作るその演出を「3人は手越が返ってくると考えている、これはその表明である。何も案ずることはない。もう少ししたらまた4人のNEWSになる」と受け取った。
・
・
違った。ダメだった。彼は帰ってこなかった。
・
・
3人での配信ライブが行われた次の日、「18時半に手越に関する重大ニュースがある。おそらく退所報道である」という情報がリークされた。
昨日の配信ライブで得た確信なんてものはいつの間にか崩れ去っていた。
どうしてもその事実を受け入れたくなくて、夕方17時に布団に入った。
ただの現実逃避だ。
知るタイミングを遅らせたからと言って事実が変わるわけではないのに。
・
朝起きて、ニュースを見た。
不思議とこの日の朝からの記憶はあいまいで、もしかしたら無意識で封じ込めてしまっているのかもしれない。
泣いた気がする。
気がするだけだ。
3人の側があれだけお前の居場所を作って待っていてくれたのに、なんて不義理なんだ。
あれだけ一生懸命準備してきたものを放りだして「今」退所しなきゃいけない理由があるのか。
事務所じゃできないことって何なんだ。
・
でも結局彼がわからない。
今書いている恨みつらみが、どの時点で私の中に生まれた感情なのかも正直わからない。
「やめたくなかった」「まだ続けたかった」という発言も散見されていた時、「じゃあやめなきゃよかったじゃん」「今ならまだ間に合うから、戻らせてくださいって頭下げて戻ってきてよ」と思っていた。
それと同時に、私たちを、四部作を、3人を、すべてを放りだして知らない人たちと知らないところへ行ってしまったことに激しく怒っていた。
暴露にもならないような浅い内容の暴露本を出したことにはぶちぎれていた。
それでも、彼が好きな気持ちもまだあった。
心のどこかで彼を信じていた。
彼を嫌いになることで、彼がいた時代の楽しかった思い出たちまで嫌いになるのは嫌だった。
気持ちの整理がつかなくても手越は勝手にズンドコ進んでいっちゃうし、NEWSの3人も少しずつ動き始めていた。
少しずつ「3人のNEWS」が当たり前になっていって、人数が少なくなっていった自虐もたまに挟まるようになっていって。
あといつの間にかNEWSがKinKi Kidsに次いで上から二番目になっていたことにびっくりした。
ずっと中堅くらいの意識だった。
そういえばもう嵐もTOKIOもV6もSMAPもタキツバもいねえや。
あとたまに忘れちゃうけど、エイトのほうが一年デビュー遅いですよ、これは増田さんへ。
・
・
脱退後のインタビューで、「多くの人は、アイドルや事務所という“魔法”にかかっている」と手越が話していた。
違う。
多分違うと思う。
“ただの手越祐也”ではなく、“ジャニーズ事務所のNEWSのアイドル手越祐也”だったから、私たちはあなたの素行を、すべてひっくるめて、「アイドルの個性」と思って愛することができた。
むろん愛すべきところがたくさんある人だ。
花が開いたようにパッと明るく咲く笑顔が大好きだった。
周りを巻き込んで笑わせてしまうような、自分の信じているものに対する絶対の自信からくるあの笑顔が大好きだった。
人の心に直接刺さるような、それでいて華やかで、のびやかで、何にも縛られないような歌声も好きだった。
いつだかジャニーズみんなでTOKIOの『宙船』を歌ったとき、一人きりで上ハモを担当していた。
あの時の誇り高さは、あれだけの大人数でも埋もれない美しい歌声は、きっと一生忘れない。
運動能力の高さと、周りの空気を作り上げてどんな難題だってこなしてしまうところは、天性のアイドルだと思っていた。
彼以上に「アイドル」という言葉が似合う人間はいないんじゃないかとすら思っていた。
どこにも行かないとは思っていなかった。
それでも、あなたの安住の地が、優しいあなたの探してた場所が、僕らの愛したここであればいいと思っていた。
・
・
今でも正解がわからない。
「NEWSにいたころの手越が大好きだ」「2020年以降のことに関しては絶対に許せない、許さない」という、相容れない感情がいつまでもぐるぐる渦巻いている。
カラオケでSUMMER TIMEのMVなんか見ちゃうとやばい。
あのMV全員ビジュ良いけどその中でも手越さん可愛すぎないか?
気づいた人がいるかどうかはわからないけれど、私いままでこの文章の中で二回だけ「手越さん」呼びをした。
この段落での一回と、3人での配信ライブの内容に言及したときの「でもそれと同じくらい、手越さんが一番輝くステージで、ライブという空間で、歌を歌うことで、私たちに、彼に、語りかけようとしてくれたんじゃないかと思う」という文章の中。
この三年間、私は手越を恨み続けてきた。
コロナ前までは「手越さん」と呼ぶことも少なくなかったが、退所後はかたくなに「手越」と呼び続けてきた。
ちなみに残りのメンバーはずっと「小山さん」「増田さん」「加藤さん」「山P」「錦戸君」呼びだし、ほかのグループの人のことも呼び捨てをすることはめったにない。
これはささやかな反抗だった。
私は、「私はあなたを許さない」という気持ちを込めて「手越」と呼んできた。それでも、彼のことを愛おしいと思うときには思わず「手越さん」と呼んでしまうのだ。
・
結局私は彼に対するこの矛盾した気持ちを抱えたまま生きていくしかないのだ。
退所前後の一連の行動は許していない。
きっと一生許せないけれど、彼が健康で、幸せでいてくれるといいなと思う。
今の彼のことを応援しているファンのことを盲目だとも思わない。
彼にはそれだけの魅力もある、訴求力がある。
あの奔放さを、考えなしな一面を、どうしようもない自我の強さを、許すことができるのであれば私だって今の彼の活動を応援したい。
もう一度あの伸びあがる歌声を聞きに行きたいし、はちゃめちゃさで成り立ってしまう天才的なバラエティ感覚を享受したい。
でもだめだ。
許せないのだ。
何一つ。
愛していたからこそ。
信じていたからこそ許せないのだ。
それでも愛しているのだ。
・
結局この話に結論なんてない。
せっかくなのではてなに挙げてみるが、誰かに届くかどうかなんて考えてない。
ただ、こういう折り合いのつけ方をした人間もいる。
・
絵描きを救いたい気持ちはあったことにはあったが、何故救いたかったのかを言語化すると絵描きへの特大悪口になってしまうことをお許しください。そして救う気が失せました。
***
作品の無断学習、非商用限定の画像群を学習したモデルを商用利用、フェアユース規定の無視疑惑……事実、画像生成AIは現在多くの問題を抱えています。
しかし。現行の日本の法律では、(利用範囲は定められていますが)機械学習における著作物の使用に著作者の許可はいらないことになっています。フェアユース規定よりさらに強力で、機械学習に有利すぎる条文です。
このままでは、絵描き的には大問題なわけです。自分が心血注いで作ったものが勝手に持っていかれるなんて、不快なことはなただしい。創作のモチベーションも奪われ、やがては産業自体の危機になると警鐘を鳴らす人もいます。
また、モラルなき人々にまで高い技術が与えられることで様々な被害がもたらされていることも報告されています。
世界的には、AIは規制の流れに傾きつつあります。Stable Diffusionを開発したStability AI社に対して、フェアユースの観点に対する集団訴訟が起きています。また、同時にGetty Imagesも訴訟に踏み切っています。
かのchatGPTも、EU単位で禁止になるかもと噂されています。
さらには、AIの推進に対してかの中国ですら及び腰だというのです。
署名出して法律の改善を訴えたり、訴訟起こして判例を作ったりすればAIに対してエラく歓迎ムードの日本すら変えられるかもしれない!
勝ったな!日本の絵描きは再び安寧と静寂を取り戻し、これまで通り絵が伸び伸びと描けるようになることでしょう!
しかし、そうはなりそうにない。
はっきり言います。今、日本の絵描きたちは自滅の道を辿っています。この勝ち確の流れで。
そうです。今こそ日本にAIの危険性を強く訴えるチャンスなのです。ここで上手く立ち回れば確実に勝機があります。誰から見ても自明でしょう。
でも自滅しようとしてます。
絵描きの大半は、絵を描くことすら取り柄かどうか怪しい無能で馬鹿でメンヘラの社会不適合者だからです。
Twitterでは今日も画像生成AIに対する愚痴や問題点が飛び交います。絵を描くことを忘れて画像生成AIの問題点を発信せんとする人が何人も出てきました。
多くの方は「いやそんなに文句あるならもっと行動しろよ…」と思ってるかもしれません。実際その通りです。Twitterでたらたら文句タレてる暇あるなら団結してクラファン立ち上げて訴訟費用賄えばいいのです。
動かすべきは画像生成AIなんてものを開発した悪の親玉組織ではなく、国という大きく頼れる組織。そうは思いませんか?
でも、しません。
何故なら、繰り返しますが、彼ら彼女らは無能で馬鹿でメンヘラの社会不適合者だからです。
彼ら彼女らは、明らかに知識不足としか言いようのない発言を平気でします。あの感じですと、我らが著作権法の条文すら多分読んだことがないし、画像生成AIの仕組みもロクに理解していません。
しかし、そんなエアプで語ることがまかり通ってしまっています。
何故なら、何度でも繰り返しますが、彼ら彼女らは無能で馬鹿でメンヘラの社会不適合者だからです。無知の知なんて期待するだけ無駄です。
もし、画像生成AIがオプトインを大前提としたものに生まれ変わる場合、アーティストの懸命な訴えが受け入れられたのかもしれません。
何故自分たちの作品を無断で使ってほしくないのか。自分たちにとって作品とは何か。懇切丁寧に、相手も納得できる形で説明したからこそ、その未来ではオプトインが採用されているのでしょう。
何故なら、まことに悲しいことに、彼ら彼女らは無能で馬鹿でメンヘラの社会不適合者だからです。
無能で馬鹿でメンヘラの社会不適合者に、詳しい言語化と冷静な判断が期待できるでしょうか?出来ないから『お気持ち』と揶揄されるような具体性に欠ける感情論しか発信できないのです。このままでは誰にも絵描きの感情や絵描き内のルール、絵描きの理論が理解されないまま終わってしまいます。
しかし。必ずしも絵描き自身が戦う必要はありません。人間社会はよく出来ており、役割の分担が基本なのです。大半の絵描きが苦しむ中、手を差し伸べてくれる人がいるかもしれません。それは親切なファンかもしれないし、法の専門家、法律家かもしれません。
繰り返しますが、大半の絵描きは無能で馬鹿でメンヘラの社会不適合者です。
そのくせプライドだけは一丁前にあって、少しでも正論を混ぜるとすぐにヒスる。声だけデカい割に利用規約や著作権法すら読めないので、デマに近いツイートをすぐ鵜呑みにして騒ぎ立てます。しかも自分から行動しません。Twitterで騒ぐだけ騒いでおいて。結局、国内の署名活動すら話を聞きません(海外の署名活動も全然集まってないですが)。
『真の弱者は助けたくなるような姿をしていない』という話を嫌でも思い出します。
インターネットリテラシーもなければ社会の変化に適応することもできず、ヒスって暴れて無能さをただひたすら曝け出す。かといって何か行動を起こすでもなく、延々と愚痴愚痴と文句を垂れるだけの存在。そう認識されてしまったら、確実に無視されブロックされNGリストに放り込まれ、インターネットの片隅に追いやられることでしょう。正直絵を描いててもキツいです。
誰がそんな奴らを助けてくれるというのでしょうか。
それでも絵を描ける存在を人は助けてくれると思ってるのなら、流石に絵の力を過信しすぎでしょう。作者の本性は、どんなに素晴らしい絵であっても平気で貫通します。作者はゴミカスだけど絵は本当に最高だから応援します!なんて言ってくれる人はかなり少数派ですよ。
大半の絵描きのことを散々に言ってきましたが、これは巨大な問題を孕んでいます。
何故なら、問題を言語化できる人間がいない集団は、その声を民主主義に届けることがあまりにも難しいからです。
日本はAI技術の発展を重視し、AI大国として国際競走にもう一度乗り上げることを目指しているとされます。その過程で、もし訴訟に敗北してStable Diffusionがなくなっても、国際的な規制でがんじがらめになりchat GPTがなくなっても、国産の新たなAIを生み出していくことも考えられます。著作権法30条の4が味方となって、あらゆるデータ資産を学習に使っていくことが考えられます。
日本はとにかくやる気です。
しかし、その過程で日本がアニメ・マンガ・ゲーム・イラスト……そういったサブカルチャー産業の源泉である創作者の集団が無碍に扱われ、将来的に縮小するとすれば問題になるでしょう。
しかし、彼ら彼女らは声のあげ方すら知らない。絵を描く以外能はなく、絵を描く以外の知識もないのですから。芸術をよすがに今日も生き延びているだけのコミュ障社会不適合者は、真の弱者層に位置しているのです。
それでもって、絵を描くことに執着する人間なんてのは数が少ないのですから、より国政や企業に対するアプローチが難しい……
これもう詰みでは?
もちろんわかっています。
ちゃんと知識を持ち、その上で問題点を発信している絵描きはいらっしゃいます。
自分なりに考え、画像生成AIとの付き合い方、画像生成AIの在り方を考えている方もいらっしゃいます。
しかし、それ以上に大多数の無能が足を引っ張りまくってます。頼むから、理論ガバガバの文章に踊らされないでくれ。お願いだから、話にならない無知を晒さないでくれ。本当にお願いします、簡単に不安を煽られないでくれ。何が正しいのか、何が間違ってるのか、分からないかもしれないけど、だったらジッとしていてくれ。落ち着いてまずは調べろ。Googleでいくらでも出てくるんだ。理解できなかったら他人に説明してもらうんだ。chatGPTはいいぞ。(それらのAIの恩恵を受けるなら、画像生成AIの恩恵も検討しなければならないけど)
自分たち側に無能で馬鹿でメンヘラの社会不適合者が圧倒的に多いことを事実として受け止め、できる中でより良いAIとの共存を模索する。それが、画像生成AI規制派に必要なことではないでしょうか。
推進派と規制派が持ちつ持たれつ議論を重ねることで科学の良い発展がもたらされると信じていますから、規制派にはマジで頑張って欲しいのです。
自分なりの救い方は検討していました。自分自身が絵描きの理屈やルールや感情の代弁者として立ち上がり、推進派との架け橋になる……ありきたりかつ理想的ですが、価値のある行いではあるかもしれません。
例えば、オプトイン制度に際してのコメントは以下のものが考えられます。
「そもそも、芸術行為とはどこまでも自分本位の行いであるべき。自分本位に生み出した作品は、自分のためだけに存在しているべきもので、そこで技術の発展だとか、他人の見栄だとか、そういうことに使われると芸術行為の芯に傷がついてしまうのでは。それが意欲の低下に繋がるのかもしれません」
あるいは、クラファンを立ち上げ、司法に是非を問うてみるのもありかもしれません。
でも、こんな奴ら助けるくらいだったら、その時間使って画像生成AI技術に手を出して学んだ方が遥かに有意義なんじゃないか?ぶっちゃけ自滅する泥舟に乗りたいか?そもそも救いたいという感情自体が傲慢なわけで。
というわけで、救いたいと思い言語化していたはずが、し終わる頃にはマジでやる気が失せました。
絵描きがただひたすら自滅を重ねていく様を楽しみたい気持ちすらあります。
もう知らねー
見てわかるとおりSHOWBYROCK!!はサンリオのアニメIP、SB69とも略される
サンリオ然としたケモ寄りデフォルメキャラが本来の姿と思われるがアニメではおそらく俺ら視点補正によって人型のふつーの美少女・美男子アニメキャラ(耳と尻尾付き)として描かれる
まあライブシーンとかではケモ姿のデフォルメ3Dになることもあるが基本的にはバンドもので、曲も結構いいのが揃ってた
ガールズバンドが主人公だが男性バンドも同じくらい描かれて女パートは青春エモい系成長物語で男パートはコメディ全振り、全体的にふざけた感じのサンリオ茶番劇だ
初代が2015年に放送されて翌年に3分アニメ版のしょ~と!!に続き2期にあたる!!#が放送された、2017年~は主に女性ファン向けの舞台化をやってたみたいだな
この初代SB69シリーズに出てくる主役ガールズバンド・プラズマジカのメインVoシアンちゃんが2017年にIP名を冠して9位に滑り込んだんだろう
2015年は登場バンド別で投票されていてその中の男性バンド筆頭シンガンクリムゾンズのメインVoクロウ(CV谷山紀章)がバンド名を冠して1位と35票差の僅差で2位受賞してたようだな、初日と中間発表では1位だったしマジ危なかったな
アニメに先んじてゲームがあり、ラブライブのスクフェスと同じような感じで微妙な出来の(当初は1ラインだったが3ラインになった)音ゲーが2013年から展開してて、ファン自体は男女ともそこそこあった
ゲームではもっと多くの実在インディーズバンドがケモキャラに扮して登場(楽曲提供)してたのが他ゲーとの違いだな
で2020年にメインキャラを一新した新シリーズのSHOWBYROCK!! ましゅまいれっしゅ!!が始まった、ラブライブで言うサンシャインみたいなもんだな
翌年には初代シリーズのキャラクターたちと合流してSTARS!!として4期目も放送されたし、音ゲーも古い方はサ終してイマドキ風の5ライン音ゲーが始まった、だがそれもつい最近サ終したけどな
ちなみにSB69は定期的にリアルイベントとして音楽フェスを開いており、ましゅまい(略)の主役ガールズバンドであるましゅ(同名略)は声優さんが実際に各々ギター・ベース・ドラムを生演奏するというパフォーマンスで
ドラム以外はほぼ初心者からのスタートということで練習動画も公開されつつアニメとリアル両面で活躍されていた
おわかりいただけたか? 俺の好みとしてはアニメのましゅまいれっしゅがとても可愛くてエモくておすすめだ
https://www.youtube.com/watch?v=XmAlcgWmEuw
このOP映像と曲に惹かれる部分があればましゅとSTARSはアマプラで見れるんでな、1期2期は飛ばして見ても特に問題ないだろう
今年もスーパー耐久始まるので去年の振り返り
良く言えば独自色、悪く言えばいつ喋ってもDAZN臭くコメント欄までなんJ汚染を呼び込む笹川裕昭
その出自からキャリアのある老人に何も言えず、話の腰を追ったり割り込む事が致命的に弱いシャーリー半田
喋りだすと延々と昔話しかしない為、競技に急変があっても止まることができないので起用ポイントに難のある関谷正徳
関谷はこの際タイミングが悪かったにしても他二人はそれぞれ自分のチャネルなりリージョンがある人達なので引きこもっててほしいし、何を考えてSTOも呑んだのか理解しがたい
シャーリー半田はスーパー耐久公式のレギュラー陣とセットで運用しないとダメだというのは何も去年発覚したことでもなし、予見できた事故を起こした印象が強まるばかりだった。
シェアウェア(という表現はおいておいてのやつ。https://anond.hatelabo.jp/20230124045812)の記事が面白かったので、自分の得意分野の領域でいろいろ紹介します。
基本的に、SaaSのサービスは便利だけど、あれもこれもと契約していったらサブスク破産するので、
もともとownCloudっていうDropbox代替があったんだけど、そこから分派して今も機能開発が続いている。
興味深いのはLAMP構成なので、VPSや自宅サーバーじゃなくても、レンサバで動くのがいいよね。
データ保存領域はオブジェクトストレージ(S3互換)も利用できるので、例えばWasabiなんかと契約してお安く済ませてしまうのも全然アリかと。
最近はカンバンシステムって、単体で使うんじゃなくていろんなアプリの中で使われる印象なので、今更Trelloだけ使いたい、なんてニーズはないかもだけど、
そこまで複雑でなく小規模なプロジェクトとかだと、意外とTrelloだけでいいよね、みたいなこともあるかな。
そういう時は、これを使うといいかも。
ちょっとUIの雰囲気が違うだけで、まんまSlackです。絵文字の追加もできるし、APIもあるし。人によって好き嫌い分かれるスレッド機能も、まあ、あのスレッド機能のまま。
n8nと書いてnodemationと読ませるらしい。初見殺しすぎんだろ。
ZapierやIFTTT、無料枠あるけど、あれもこれもやり出すとすぐ無料枠埋まっちゃうので、これ結構いいと思うんだけどな。
kintone使ってる会社増えてると思うんだけど、まだまだ1ユーザー1500円ってのは高いので、零細企業は導入し辛いと思う。
で、それの代替になるのがExment。UIがkintoneとは少し違うので代替と言い切れないかもしれないが、
やれることはkintoneのソレと全く同じなので、用途代替はできる。
開発も日本企業なので、UIも日本語化されている。LAMP構成なので、レンサバでも動くよ!
そもそもAirtableって何やねんって人もいるかもしれないけど、kintoneとGoogleスプレッドシートをいいとこ取りして、Trelloとガントチャートを足した感じ。
これもまあまあいい感じでZoom再現してます。Zoomの方が新機能の追加早いけど、Jitsiも頑張って追いついている感じです。
ただ、やる内容が複数人でのリアルタイム動画配信なので、サーバースペック・回線スペックはまあまあ必要なので要注意。
こちらは使ったことないんだけど、よりオンライン授業向けらしい。
最近よく見かけるようになった、オンラインミーティングとかの予定をブッキングさせるSaaS。
あれのはしりがCalendlyで、日本でもいくつかそれのSaaSができてますね。
あれらも無料枠だと1カレンダーだけしかできなかったりするんだけど、これなら好きなだけブッキングさせられます。
ECサイトとか、Webマーケティングを重視してるサイトによくある、画面右下に吹き出しアイコンがあって、チャットウインドウがぴょこっと出てくるやつ。
日本ではWeb接客とか言われてるけど、あれの代表的なSaaSがIntercom。Zendeskは、どちらかというと内部ツール向きかな。
これのOSS版がChatwootとPapercups。自社サイトにWeb接客入れたいけど、費用抑えたい、って時にどうぞ。
この手のツールがないと仕事にならないという人も多いと思います。
これまでだとRedmineがそれのOSS版的立ち位置でしたが、さすがにイマドキあのUIはないなぁ、と。
OpenProjectは、Microsoft Projectの代替をイメージしてるみたいですが、
ガントチャートにカンバンがデフォルトで使えるので、BacklogやAsanaの代替にはちょうど良いでしょう。
ただ、そんな高度なことしてるわけではないのに、サーバーの要求スペックはちょっと高めなのでご注意を。
UA廃止でGA離れが始まってるとも聞きますが、疎開先として有名。
PHPで動くので、PHPやWordPressでできたサイトに一緒に入れちゃってもいいと思う。
HeadlessCMSは、データ表示を持たず、フロントエンドへAPIを通じてデータを渡すタイプのCMSのこと。
このジャンルでは、SaaSだとContentfulが有名だけど、OSSでもいろいろある。
Node.js製。歴史があるので、結構いろんなことができる。
WordPressのGutenbergエディターを取り込んだプラグインなんかもある。
User認証も持ってるので、CGM的なサイトを作ろうと思ったらできなくもない。
これもNode.js製。利用できるDBが幅広く、既存のデータベースも活用できる。
なので、既にPostgresSQLとかでデータを持ってるんだけど、
非エンジニアにもデータを触らせるためのフロントエンドが欲しい、ってニーズに良いかも。
PHP製。SQLiteとMongoDBで利用可能。MySQL/PostgreSQL使えないのがちょっと残念。
近年、本腰入れて自社ECサイトをやろうと思うと必ず選択肢に上がるShopify。
インテグレートパートナー向けのエコシステムも充実してるので、取り組み始めるエンジニアやシステム会社も多い。
ヘッドレスコマースや越境ECには向いているものの、これをセルフホストしたい、というニーズに応えたのがmedusa.js。
ざっと見てみただけだけど、モダンな構成で、今時のフロントとバックエンドを分けた構成でやりたい、というのには向いている。
プラグインにmedusa-marketplace.jsというのもあり、Amazon的なマーケットプレイスも実現可能。
昨年、Adobeに買収され、デザイナーたちを驚愕させたFigma。
先日はAdobe XDが終了のお知らせとなり、UIデザイナーたちの不安は募るばかり。
そんな提供企業に振り回されたくないなら、このPenpotでUIデザインしよう。
Figmaほど機能実装はされていないが、まあまあ一通りのことはできる。
Figma代が嵩むとお嘆きの制作会社なんかは、一考の余地あるんじゃなかろうか。
企業によっては、コンタクトフォームをたくさん作りたいという会社もある。
人材採用のフォームを職種別に細かく分けたい(しかも頻繁に募集職種が変わるとか)
Google Formで大体解決しそうだけど、それをGoogleに頼りたくないならこちら。
まあまあ機能豊富なので、人によってはGoogleFormよりもこちらを好むかも。
DockerベースのWebメールUI。送受信に必要なものを、丸っとDockerで用意してくれているので便利。
HubSpotは、いわゆるMarketing AutomationとCRMを一体にしたツール。無料枠もあるが、かなり限定されている。
MauticはMarketing Automationよりの機能が多く、ユーザーのサイト上での回遊をビジュアル化してくれたりする。
SuiteCRMはザ・CRMという感じ。SalesForceをデフォルトで使う感じに近い。
ツールが分かれてしまうのは辛いところだけど、それぞれにAPIがあるので、うまく繋げられると強力なツールになってくれるはず。
Webサービス作ってると、メールの通知や一斉配信などがあると思う。
通常これらはSendGridや、AWS SESなどで処理すると思うが、これらにもOSS代替がある。
PostalはDockerでメール周りのもの全部用意してくれているので、かなり楽。
WordPressをモダンにしたような感じで、EC機能もデフォルトでついてる。マルチサイトも標準。
Jimdo/Wix代替と書いたが、もちろん自分のサイトをMicroweberで作ってもいいが、
自前ホスティングして、JimdoやWixのようなサービスを始めることもできる。
テンプレートをいくつか作っておいて、Stripeを仕込んでおけば、今日からあなたもJimdo/Wixのような事業を始められるわけだ。
JImdo/WixとSTUDIO/Webflowは一緒くたに語られがちだが、明確な違いがある。
前者はプリディファインドなブロックをGUIで構成するのに対し、後者はDOM要素ベースで構築していく。
つまりよりHTML/CSSによる細かなデザインコントロールがしやすく、Webデザイナーが親しみやすい。
それのOSS版がWebstudio。まだアルファ版だが、フロントエンドはそれなりによくできているので、
バックエンドを自前で用意してStripeを仕込んでおけば、今日からあなたも(以下略
Facebookなんか使わねーよ、っていう人も多いかもしれないが、
特定のコミュニティの中でコミュニケーション取るには、FacebookのUIと機能は優れていると思う。
なので、サークルとか同窓会、あと自治会とかPTAなんかにもいいんじゃないだろうか。
Netflixの代替って、Amazon Primeとかじゃねーの、と思われるのかもしれないが、そうではなくて、
あなたがNetflixみたいな商売したいならこれを使うといいよ、というのがJellyfin。
いや、そんな商売しないよ、と思うかもしれないが、
使いようによっては、おじいちゃんおばあちゃん向けの子供動画配信サービスとして構築するとか、
Stripeと連携して、劇団やバンドのオリジナルの配信サイトを構築するなんかも面白いと思う。
今更誰もYouTubeやVimeoの後追いをしようとはしないでしょうが、
複数のユーザーから動画のアップを受け付けて、それを閲覧したい用途もあると思う。
例えば、軽音部で複数のバンドが練習風景を録画したのを定期的にアップしたりとか。
学習塾で、授業の録画を授業ごとにアップしていったりとか。
ZoomやGoogle Meetのような双方向ではなく、一対多の一方通行配信。
個人的には、企業のウェビナーツールとしての可能性を感じる。(Zoomのウェビナープランとか高いもん)
1つのメールアドレスを複数人で運用したい時のツールがメールワイズとRe:lationどちらも日本のSaaS。
FreeScoutはOSSだけど、海外製。一応日本語化もされてるっぽい。
ECサイトの顧客問い合わせや、営業チームのプライマリー対応なんかに良いと思う。
Bubbleってなんぞ? という人のためにお伝えしておくと、ノーコードベースのWebアプリ開発ツール。
データエンティティを設計したら、自動的にCRUDを作ってくれて、フォームを配置するというような感じ。
Bubbleはそれ系の老舗で、歴史が長い分ノウハウも溜まっており、連携できるサービスも多い。
ただ、ベンダーロックインされるし、季節的なキャンペーンとかでは、アプリを使用しない期間もサブスク費用がかかる。
Budibaseは、Bubbleの思想に一番近い感じ。凝ったUIが必要なければ、ざっくりコレでなんでも作れちゃう。
AppSmithも同じような感じだが、これはDBをあらかじめスキーマ定義しておかないといけないところが若干不便かな。
ToolJetはルーティングURLの概念がなく、本格使用を諦めたんだけど、最近アップデートしたらしいので、そこのところどうなってるかまた確認しときたい。
他にもこの手のやつあったら、いろいろ教えて欲しい。単純に好きなので。
テレビもオーディオも無い部屋なので1から揃えたい。映像は主にアニメ円盤(BD)とBS放送(のアニメ)。
予算はざっと100万~程度。金にも広さにも限度はあるが最良の環境を作りたい。
プロジェクターはスクリーンを設置する壁が確保できそうにないので除外。
サイズは65インチが限界そう。壁面に置くのも難しいので角への斜め置きを想定。
賛否両論のQD-OLED、店頭で見比べると確かに赤や緑の原色系ギラギラ感が良し悪しのようだけどソースがアニメなら悪くないのではないかという説に乗ってみたい。
徐々に価格も落ちてきていて良い感じ。
有機ELとしては明るくてなんかとにかく評判良いらしい(kakaku情報)。パナのサイトを見てても何か凄そう感がある。あとA95Kよりは安めっぽい。
正直録画はしないのでレコーダ機能は不要。4k放送も受信できない(JCOM環境なので契約してSTB設置しないとダメらしい)ので4kチューナーも不要。
4kアップコンバートについては言及が少なく、あまり画質面では良く無さそう。
4kブラビアモードを訴求しているが画質改善の能書きが少ない。
最上位を目指すならこれらしい。特に4kアップコンバートが優れていて地デジ/BSはこれを経由して見た方が画質が良いとか。能書きも多いが24p/30p変換出力って何が嬉しいの程度の知識だと、ピュアーディオ系の匂いがしてくる。
とにかく色々高い部品を使ってるんだろうなというのはわかるが、LANチップが🦀なのはワロタ(https://panasonic.jp/diga/products/zr1/circuit.html)。🦀がダメとは言わないが格落ち感が凄い。
騒がしい量販店だと、試聴してもいまいち効果が分かるような分からないようなという感じ。
無論音楽業界で受け入れられてるのはコード聞き取り(Chord Tracker)や整音(izotope等)を自動でしてくれる前者
無論イラスト業界でも望まれてるのは前者なのに後者が出てきたからな
音楽AI 自体クリーンデータしか使わないってStable Diffusionが言ってるからそんなに盛り上がらないのが確定してるし
歌手、作曲家、アレンジャー、レコーディング/マスタリングエンジニアどれを取っても奥が深いし
万能調味料だけど整音にAIを使いすぎると尖った曲が生まれずハンコ絵みたいな薄っぺらい曲しか生まれないからあえて使わない奴や嫌ってるやつも居る
それだけの話し
第1世代の「オタク」の多くは趣味の探究と生産を旨としていた、ただ消費するだけの存在ではなかった、とよく言われるが
世代が下るごとに、オタクの中にも「特定ジャンルのエンタメの消費者」的な意識を持つ人々が明らかに増えていっている。
そしてStable DiffusionやnovelAI Diffusionの登場で、この「趣味者としてのオタク」と「消費者としてのオタク」の断層が決定的になったと思う。
「消費者としてのオタク」は、たとえば自分好みの絵師のタッチで自分好みの絵が出力できればうれしいから、AI技術の進展を歓迎するだろう
「趣味者としてのオタク」は、たとえばDanbooruを利用した機械学習はオリジナル絵師の努力や技術を剽窃し貶めるものだと警鐘を鳴らすだろう
実際、Danbooruからの学習を批判する声に対して、オタク界隈からもちらほらと
「技術の進歩を否定する」「老害」といった物言いが見受けられるようになってきた。
折しも最近の『2.5次元の誘惑』では、「オタクは愛で生産と消費を結びつける」「みんな仲間」という(美しい)話をやっているが
テクノロジーの進歩によって、消費系のオタクが、消費したい対象を人間の生産者に頼らずとも無限に供給してもらえるようになったら
自動で安価をつけて返信するプログラムでもこんなに長く複雑になる(一部抜粋)
/**************************************
以下のCSV_DIR, FILE_PATHS, SETTINGSを書き換えてね。 <h3>o- *************************************/</h3>
//CSVファイルが置かれてるディレクトリのパス。投稿前にエラー出たら大体ここの設定ミス。 例:"C:\\Users\\sakuraimasahiro\\Documents\\iMacros\\Macros\\rentou\\";
'C:\\Users\\USER\\Desktop\\iMacros\\Macros\\rentou\\';
//ファイルのパス。CSVは絶対パスで、拡張子も必要。iimは相対パスでよく、拡張子不要。
const FILE_PATHS = {
textCsv: CSV_DIR + 'textNoAnker.csv',
//レス用投稿文が書かれたCSV。通常とレス用で分けないなら同じファイルを使えばいい。
replyTextCsv: CSV_DIR + 'textReply.csv',
};
baseWaitTime: 5,
//baseWaitTime+0~waitTimeRange(ランダム)だけ待つ
waitTimeRange: 5,
//連投しすぎだと忠告された場合に処理を一時停止させる時間(秒)
waitTimeForAvoidingPunishment: 60 * 30,
//メール
mail: 'sage',
//名前設定
name: '',
//以下、偽装ワッチョイ設定。浪人でワッチョイを非表示にしてるときだけtrueにしてね。
//妙なニックネーム(ワッチョイ、アウアウウーなど)をランダムで決めて付加するかどうか。true=付加する。false=付加しない。
//妙なニックネームの後に付く8桁の文字列をランダムで決めて付加するかどうか。
},
//アンカー無し投稿をするならtrue。しないならfalse。noAnkerPostかreplyPostのどちらかはtrueにすること(両方trueでもOK)。
//アンカー付き投稿(返信)をするならtrue。しないならfalse。もしnoAnkerPostとreplyPostの両方がtrueの場合、投稿は返信が優先され、返信対象が見つからなくなったらアンカー無し投稿をする。
//最初に取得するアンカー無し投稿文CSVファイルの行番号。もし返信用と同じCSVファイルを使うなら-1と入力。
noAnkerPostTextCsvStartRow: 1,
//最初に取得する返信用投稿文CSVファイルの行番号。もしアンカー無しと同じCSVファイルを使うなら-1と入力。
//テキストCSV/返信用テキストCSVの取得行が最終行に達したら最初の行まで戻るかどうか。true=戻る。false=マクロ終了。
//返信する場合、これより小さなレス番には返信しない。返信を投稿すると、この数値は前回の返信先のレス番に更新される。
minAnker: 895,
//返信する場合、名前に以下の文字列を含む投稿にアンカーをつけて返信する(ワッチョイやIPなど名前フィールドにあるものならなんでも可)。配列で複数指定可能。指定無しなら空配列([])。filterNamesとfilterNamesNotIncluded共に無指定ならレス番1から順に返信していく(minAnkerが設定されてればそこから順に)。以下のfilter系は全て併用可能。
//↑とは逆に、名前に以下の文字列を含まない投稿にアンカーをつけて返信する。↑と併用も可能。
//返信する場合、本文に以下の文字列を含む投稿にアンカーをつけて返信する。
filterText: ['自演かな', '自演わらわら', 'スクリプト使うの', '安価ガバ', '>>660', '自演で擁護', '最後' ,'あいうえお', 'かきくけこ', 'さしすせそ', 'なにぬねの', 'はひふへほ', 'まみむめも', 'やいゆえよ', 'やゆよ', 'らりるれろ', 'わいうえを', 'わをん', 'わいうえをん'],
},
//自分のIPアドレスの確認。VPNとかでIPを変更してマクロを動かしてるとき、突然VPNが作動しなくなってIPが元に戻ったときにマクロを止めるためのもの。
//以下の文字列が自分の現在のIPアドレスに含まれている場合、マクロを一時停止する。基本的に自分の本当のIPアドレスを入力。
},
//浪人設定。最後に動作を確認したのは5年くらい前で、今も同じように動作するかは、浪人を持ってないから確認できずわからない。
//浪人にログインしてるかどうかをチェックするかどうか。trueならする。falseならしない。trueにしていてもし浪人にログインしていないことを確認したらログインしにいく。
password: '1234',
},
};
/**************************************
設定箇所終わり。
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>
/**
* ここから始まる。
*/
checkSettings();
var _TextCsvCursors = new TextCsvCursors(
SETTINGS.postSettings.noAnkerPostTextCsvStartRow > 0
? SETTINGS.postSettings.noAnkerPostTextCsvStartRow - 1
: SETTINGS.postSettings.noAnkerPostTextCsvStartRow,
SETTINGS.postSettings.textCsvLoop,
),
SETTINGS.postSettings.replyPostTextCsvStartRow > 0
? SETTINGS.postSettings.replyPostTextCsvStartRow - 1
: SETTINGS.postSettings.replyPostTextCsvStartRow,
SETTINGS.postSettings.textCsvLoop,
),
);
var _LoopStatuses = new LoopStatuses(0, SETTINGS.postSettings.minAnker);
const _MyPosterName = new MyPosterName({
name: SETTINGS.nameSettings.name,
});
const _ThreadUrl = openPromptThreadUrl();
//ループ
while (true) {
SETTINGS.ipSettings.checkIp && checkCurrentIpNotTheIp();
//スレを開く
openUrl(_ThreadUrl.fullUrlHttps());
//浪人にログインする設定なら、浪人にログインしているかどうかを確認し、していなければログインしにいく。
if (SETTINGS.roninSettings.checkLogin) {
}
}
if (SETTINGS.postSettings.replyPost) {
const targetAnkerNumber = createPostDOMList()
.filterPostnumberHigher(_LoopStatuses.currentMinAnker())
.filterByPostername(SETTINGS.postSettings.filterNames)
.filterByPosternameNotIncluded(
SETTINGS.postSettings.filterNamesNotIncluded,
)
.filterByText(SETTINGS.postSettings.filterText)
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) {
//投稿。
nickname: SETTINGS.nameSettings.nickname,
korokoro: SETTINGS.nameSettings.korokoro,
area: SETTINGS.nameSettings.area,
}),
SETTINGS.mail,
p.text,
);
//_TextCsvCursorsと_LoopStatusesを更新。
_TextCsvCursors = p.updatedTextCsvCursors;
_LoopStatuses = p.updatedLoopStatuses.incrementPostCount();
`投稿回数: ${_LoopStatuses.currentPostCount()}`,
`minAnker: ${_LoopStatuses.currentMinAnker()}`,
`今回アンカー無し投稿取得行: ${_TextCsvCursors.currentRows().noAnker}`,
`今回アンカー有り投稿取得行: ${_TextCsvCursors.currentRows().reply}`,
]);
} else {
`返信対象が現われるのを待機中...。`,
`投稿回数: ${_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 メール
*/
serverName,
postMail,
_MyText,
retryTimes = 0,
) {
const r =
retryTimes === 0
? new ValuesOfPost(serverName, _MyPosterName, postMail, _MyText).post(
postTo5chTread,
)
serverName,
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();
serverName,
postMail,
_MyText,
retryTimes + 1,
);
} else if (error.order === 'WAIT') {
wait(SETTINGS.waitTimeForAvoidingPunishment);
serverName,
postMail,
_MyText,
retryTimes,
);
} else if (error.order === 'LOGIN') {
serverName,
postMail,
_MyText,
retryTimes,
);
}
return;
}
/**
* 現在のIPアドレスに、SETTINGS.ipSettings.avoidTheIpの値が含まれていないことを確認する。含まれていたらマクロを一時停止。
* @returns
*/
function checkCurrentIpNotTheIp() {
openUrl('https://www.cman.jp/network/support/go_access.cgi');
const _IpAdress = createIpAdressFromCMan();
if (_IpAdress.includes(SETTINGS.ipSettings.avoidTheIp)) {
pause('現在のIPに指定した値が含まれていることを確認。');
}
return;
}
/**
* @returns
*/
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を受け取る。
*/
function openPromptThreadUrl() {
const url = prompt('スレURLを入力');
}
/**
* 開いてるスレのレス全て読み取ってPostListインスタンスを作って返す。
* 重すぎるので使うのやめ。どうやらインスタンスの大量生成が原因な模様。
*/
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');
for (let index = 0; index < posts.length; index++) {
//HTMLCollectionからElementを1つずつ抽出して配列に。
arrPostDOMList.push(posts.item(index));
}
return new PostDOMList(arrPostDOMList);
}
/**
* 開いてる投稿結果画面に表示されてるエラーを読み取ってPostErrorMessageインスタンスを作って返す。
*/
function createPostErrorMessage() {
window.document