【TamperMonkey】チャットサービスで自動でランダムにチャットするスクリプト

本ブログはアフィリエイト広告を利用しています

WEB / アプリ
WEB / アプリ
この記事は約5分で読めます。

とっちゃん@nyanco! です。

今回はチャットサービスで任意で決めた複数の単語ランダムな間隔でメッセージを送るTamperMonkeyスクリプトを共有するよというお話です。

肉玉にゃんこ

便利だけど垢BANリスクもあるので、くれぐれも使い方にはご注意ですにゃ〜

本記事で紹介するのはいわゆるボットそのものとなります。ボット行為を禁じているサービスでは絶対に利用しないのはもちろんのこと、ボット利用禁止の記載のないサイトでも最悪はアカウントBANのリスクがあります。利用する際はチャットサービスの利用規約を確認し、必ず自己判断・自己責任の元でお使いください。

スポンサーリンク

チャットサービスで自動でランダムにチャットするスクリプト

前提

まず、本記事の内容はTampermonkey(タンパーモンキー)というPCブラウザ拡張機能を使うので、以下よりインストールする必要があります。

Tampermonkey - Chrome Web Store
Change the web at will with userscripts

Tampermonkeyとは何か超ざっくり言うと、閲覧しているwebページの見た目や内容・動作などをスクリプトで制御できるという拡張機能です。

肉玉にゃんこ

スクリプトなんて書けない!という方でも、コピーペーストするだけで利用可能なので大丈夫ですにゃ~
ただ、少々html(Xpath)の知識が必要ですにゃ〜

ユーザースクリプト

早速ですが、コードはこちらです。

// ==UserScript==
// @name         Auto chat script
// @namespace    https://blog.nyanco.me/auto-chat-script/
// @version      0.1
// @description  Automatically send random messages at intervals
// @match        https://xxxx.xxx
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const wordList = [
        'おはよう',
        'こんにちは',
        'こんばんは',
        '😻',
        'GM'
    ];

    let chatCount = 0;
    const MAX_CHAT_COUNT = 20; //チャットする回数

    function getRandomWord() {
        return wordList[Math.floor(Math.random() * wordList.length)];
    }

    function getRandomInterval() {
        return Math.floor(Math.random() * (120000 - 60000 + 1)) + 60000; //60000ミリ秒(1分)から120000ミリ秒(2分) ※ +60000することで最低でも1分(60000)以上の間隔となる
    }

    function sendMessage() {
        if (chatCount >= MAX_CHAT_COUNT) {
            console.log('チャット回数がMAXに達しました。スクリプトを終了します。');
            return;
        }

        const inputField = document.evaluate("//div[@placeholder='Type a message...']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
        if (inputField) {
            const randomMessage = getRandomWord();
            inputField.textContent = randomMessage;
            inputField.dispatchEvent(new Event('input', { bubbles: true }));
            const enterEvent = new KeyboardEvent('keydown', { key: 'Enter', bubbles: true });
            inputField.dispatchEvent(enterEvent);

            chatCount++;
            console.log(`メッセージを送信しました。現在のチャット回数: ${chatCount}`);
        }

        if (chatCount < MAX_CHAT_COUNT) {
            setTimeout(sendMessage, getRandomInterval());
        }
    }

    setTimeout(sendMessage, getRandomInterval());
})();

※コードは生成AI「perplexity」で生成したものを少しカスタマイズしています。

以下、自分の環境や好みに合わせてカスタマイズする箇所です。

  • 6行目:スクリプトを動作させるURLを記述(正規表現使えます)
  • 14〜18行目:チャットするメッセージを登録。絵文字もOK!
  • 22行目:チャットする回数を設定。デフォルトは20回チャットしたら終了
  • 29行目:チャットする時間間隔を設定。デフォルトは1〜2分の間でランダム
  • 39行目:“//div[@placeholder=’Type a message…’]”で入力対象フォームをXpathで指定しています。こちらはwebサイトによって異なるのでご自身で調べる必要があります。

以上を設定したら、後は6行目で指定したURLのwebページにアクセスしたら自動でチャットがされるようになります。

肉玉にゃんこ

ブラウザの開発者ツールのコンソールで今は何回目のチャットをしているかの確認もできるようになってますにゃ〜(49行目)

おわりに

最後に繰り返しになりますが、ボットを利用することのリスクを十分認識した上でくれぐれも自己責任の上でお使いください。

本記事がどなたかの参考になれば幸いです。

今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧

コメント