Für einen Test auf der Mastodon-Instanz, auf der ich beheimatet bin, musste ich Toots über einen bestimmten Zeitraum erstellen. Das wollte ich nicht mit meinem regulären Account machen, also habe ich einen neuen Account angelegt (und den als Bot gekennzeichnet). Die Sichtbarkeit der Toots war nicht wichtig (daher habe ich die nicht gelistet) und Follower waren auch nicht wichtig.
Nun war aber der MastodonHelper zwar grundsätzlich mal dafür angedacht mehr als einen Account nutzen zu können, aber es fehlten noch die passenden Implementationen.
Das habe ich mit dem letzten Commit erledigt.
In der mastobot-config.yaml kann man nun unter dem Abschnitt instances
nicht nur default
konfigurieren, sondern mehrere Abschnitte hinterlegen.
Das kann so aussehen:
instances:
default:
url: https://social.tchncs.de
username: ~
login: true
mybot_on_tchncs:
url: https://social.tchncs.de
username: mybot@myprovider.de
login: true
Die Default Konfig bleibt, wie ihr es eingerichtet habt. Dazu können beliebig weitere Instanzen mit Usern hinzugefügt werden.
Das muss man aber dann auch explizit im Python Script dann so aufrufen. Dazu gibt es den neuen Parameter instance_id (der mit default
vorbelegt ist):
mastodon = mastobot.MastodonHelper.open_or_create_app(
config_yaml='mastobot-config.yaml',
instance_id="mybot_on_tchncs",
login=True
)
Da login=True
gesetzt ist, wird ein Account-Login über den Username gefordert. Ihr meldet euch im Terminal also einmal an. Der Access-Token eurer Anmeldung wird dann im home-Ordner gespeichert. Das bedeutet, bei weiteren Aufrufen des Script gibt es keine Interaktion mehr: das Script meldet sich automatisch mit dem Access-Token an.
Ich musste dafür auch die Dateinamen der Dateien ändern, die die secrets
und tokens
speichern. Das passt aber weiter zu dem bisherigen Verhalten von dem MastodonHelper.
Man kann also weiterhin auch den einfachen Aufruf nutzen (was die default-Konfiguration nutzt):
mastodon = mastobot.MastodonHelper.open_or_create_app(
config_yaml='mastobot-config.yaml',
login=True
)
Comments
No comments yet. Be the first to react!