Hello and welcome!
I have developed a bot that automatically posts to Mastodon at scheduled intervals. In my case, it is used to share studies on gender-based violence online to help raise awareness of the issue. However, the bot’s posts are fully customisable, so you could basically use it to post anything.
If you want to implement my bot, here’s the code I used.
Step 1: Enter the account details for the Mastodon account you want the bot to post from. Next, customize the article content, which will become your Mastodon message. Finally, set the interval in seconds to determine how often the bot will post.
{ "access_token": "add access token of your mastodon account", "api_base_url": "add base url of your mastodon server", "articles": [ "Article 1 content", "Article 2 content", "Article 3 content" ], "interval": 60 - choose time interval }
**Step 2: This is the actual bot. Please enter the information as explained above the code brackets. Make sure to delete the descriptions text in quotation marks before running the bot. Otherwise, the code may not work. **
Load configuration with open('config.json') as config_file: config = json.load(config_file) # "Code identifies the Mastodon data (Acess-Token & Server Domain)" Authenticate to Mastodon mastodon = Mastodon( access_token=config['access_token'], api_base_url=config['api_base_url'] ) # "This paragraph posts the articles" def post_article(article): mastodon.toot(article) print(f"Posted article: {article}") # "Verifies time intervals" # Post articles at regular intervals articles = config['articles'] interval = config['interval'] for article in articles: post_article(article) time.sleep(interval)
For all German speaking people: If you’re interested in my original university project, or need help adding the bot to your Mastodon account, you can watch this video: tube.spdns.org/w/6tWr68ihyiPQRuZjsoP3zT
(skip to 7:10 for the bot explanation)
CaptainBasculin@lemmy.ml 2 months ago
Cool script. Would reccomend getting data from RSS feeds as a start instead of hardcoding your news; as that’s what I did on my account bot that posts crucial news to !turkey@lemmy.ml
I think whatever the Mastodon class is, you’ll need some sort of pre-installing library to use it and import it, and import json too.