This is a very simple Telegram Bot which help collecting links for a newsletter.
You can use the Newsletter Assistant without it, directly adding links to an AirTable base, but this bot makes it easier to add links from Telegram.
- Create a Telegram Bot using the BotFather
- Add the bot to a Telegram group where you and your colleges will send links to it;
as bot is reading all messages, you'll have to create a dedicated group for it.
- To allow a bot to read all messages, use BotFather command /setprivacyand set it toDisabled.
- To allow a bot to be added in a group, use BotFather command /setjoingroupsand set it toEnabled.
- After you add a bot in a group, you can use /setjoingroupsagain to set it toDisabledagain.
 
- To allow a bot to read all messages, use BotFather command 
- When the bot is in the group, run /startcommand in the group to get the chat id.
Unfortunately, AirTable doesn't provide an API to create a base, so you'll have to do it manually.
- Create a new AirTable base
- Create an AirTable table Weekly newsletterin that base with the following fields:- URL(Primary, URL)
- Type(Single select: 'post', 'paper', 'project', 'youtube', 'twitter', 'reddit')
- Title(Single line text)
- Summary(Long text)
- Comment(Long text)
 
- If you prefer to call your table differently, change the name in the news_bot_runner.pyfile.
- If you plan to test it locally, create a .envfile with the following content:
BOT_TOKEN_NEWS=<the bot token, you get it on bot creation>
NEWS_CHAT_ID=<the id of the chat you'll use your bot in>
AIRTABLE_API_KEY=<API key in Airtable>
BASE_ID=<Base ID in Airtable; to get it, click Help | API Documentation in your base>
- The project is desinged to be deployed on Heroku. Add the corresponding environment variables to your Heroku app.