LoginSignup
1
0

misskeyの自動ログボスクリプト作った

Posted at

毎日ねむい六角レンチです
布団食べたい
systemdを使って自動でログインボーナスをするスクリプト作りました

経緯

image.png
連続ログインが全然続きません
ログボ忘れは大罪って誰かが言っていた気がするのでこのままではまずいです
そんな時、一つの記事を見つけます...:eyes:

参考にしたもの

pythonのスクリプトをdaemon化するという記事です
ログボは毎日朝5時にリセットされるので...:thinking:

作る

まずは普通にノートを作成するスクリプトを作る

from misskey import Misskey

INSTANCE = "misskey.io"
TOKEN = "token"
mk = Misskey(INSTANCE, i=TOKEN)

TEXT = "example text"

mk.notes_create(text=TEXT)

TOKENにはノートを作成・削除する通知を操作するの権限を与えたアクセストークンを、
TEXTはノートに書くテキスト
(今回はログボなのでログボ@LoginBonus@misskey.m544.netが入ったテキスト)

次に記事を参考にmain関数を作成
ついでにノートの作成に失敗した場合、作成に失敗したことを通知するようにする

from misskey import Misskey
import requests

def main():
    INSTANCE = "misskey.io"
    TOKEN = "token"
    mk = Misskey(INSTANCE, i=TOKEN)

    TEXT = "example text"

    try:
        mk.notes_create(text=TEXT)
    except:
        endpoint = f"https://{INSTANCE}/api/notifications/create"
        ICONURL = "URL"
        payload = {"i":TOKEN,
                   "body":"ヤギです",
                   "header":"&/$%_&+/%$=!$&?=*$$%/+.?%-+=*/",
                   "icon":ICONURL}
        requests.post(endpoint, json=payload)

if __name__ == "__main__":
    main()

ICONURLは画像のURLを入れる

except節の通知がちゃんと動くか確かめてみる
image.png
...huh? (GIF画像OKなので動きます)

サービスファイルとタイマーファイルを/etc/systemd/system/に作っていく
スクリプトを置く場所は/home/(ユーザー)/daemons/logboにした

systemdのサービスファイル(logbo.service)

[Unit]
Description=misskey auto login bonus get script

[Service]
ExecStart=スクリプトのパス

タイマーファイル(logbo.timer)

[Unit]
Description=misskey auto login bonus get script

[Timer]
OnCalendar=*-*-* 5:30:00 Asia/Tokyo

[Install]
WantedBy=timers.target

あとはsudo systemctl enable logbo.timerで有効化する

systemctl enable起動時に有効化する物なのでsystemctl start logbo.timerも一緒にした方がいい

ちゃんとサービスファイルが動くか試す方法

systemctl start logbo.serviceでちゃんと動くか確かめることができる。
なぜできるのかはサービスファイルはタイマーファイルによってトリガーされているだけだからっぽい

結果

image.png
なんと一週間連続ログイン達成しました🤯
これは歴史に残る大偉業ですね...

感想

作っていて思ったのですがログインボーナスのあるSNSってなんですかね...?
misskeyに来てもう8ヶ月経つのでログインボーナスは普通の物だと思っていましたがよく考えたら変です:thinking:
リバーシやスイカゲームもどきが実装されているのもSNSとして考えると変ですね:thinking::thinking::thinking:
(さらに麻雀まで実装予定:thinking::thinking::thinking::thinking::thinking::thinking:)

systemdを初めて使ったのですが簡単に定期実行するスクリプトを書けて便利ですね
今まで定期実行するにはライブラリのscheduleを使わないと難しいと考えていたので今後かなりお世話になりそう

ただ動かし続けるPCが必要なのでそこだけ注意ですかね
ラズパイZero2Wを買って大正解でした
(botの運営用に買ったけど他の用途にも使えて便利)
(但しminiHDMI端子採用は絶対に許さない)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0