My Authors
Read all threads
Day 10 - #100daysofnocode

🏋️‍♀️ Making a telegram bot and weekly digest for learning spanish vocab. I've not worked out which tools to use yet. Ask questions and help me on here. 🤞
Proposal:
📌 User messages a word to the bot and bot responds with the translation
📌 Bot sends a review/test at the end of the week of all translations for the week

...ideas welcome
Tools:
⚙️ Telegram - messaging
⚙️ Zapier - webhook/api handler for translation, add records to database, schedule message/email weekly
⚙️ Airtable - database for vocab. Fields: word, translation, original language, translation language, status

...Can zapier do this?
Telegram setup - simple
1. open telegram and start conversation with <at>botfather --> @TelegramBot

intergromat guide: support.integromat.com/hc/en-us/artic…
Zapier setup:
There is no native integration between zapier and telegram. I thought creating a webhook (zapier premium) would work but it also needs a SSL certificate and i'm short on time to work it out.

Rabbit hole I went down:
nocodeapi.com/telegram-bot-w…
github.com/igronus/telegr…
You can use github to host your website for free by branching with gh-pages as the name. This creates you website on [githubusername]github.io/[reponame] ⬇️
mattdotroberts.github.io/telegrambot/
Switched to #Integromat. Integromat has a native integration
support.integromat.com/hc/en-us/artic…
Airtable setup:
✅ create base and field structure.
✅ create status's. This is likely to change but it's a start
Tip: You have to sign up to a plan, even if it's free to get the scenario to work
Send some messages to the bot to see which field telegram stores the message in then map it to the airtable
Translator setup:
Loads of options but trying to find free/nocode options. Went with dictionaryapi by MerriamWebster. dictionaryapi.com/products/api-s…
After registering and getting the api key, it's a simple HTTP call .../addwordhere?

dictionaryapi.com/api/v3/referen…
To send a message back to the telegram bot; you'll need the chatid. If integromat has processed 1 message you'll have it...
use the message variable from telegram and include at the end of the api url before the ?.
Use block 'reply to telegram' and format the message as you would like
✅ Boom, basic language bot is up and running.
I Want to set the translation and original language fields in airtable using integromat general functions (if) but it's not recognising and so always setting to 'spanish'. Any help? #nocode #helpneeded #integromat
✅ Phase 1 - Bot responds with translation and stores in airtable.
🤨 Known issues:
1️⃣ definition variable doesn't change so removed
2️⃣ if statement on integromat not working. Awaiting feedback
3️⃣ message can be improved: emojis etc
4️⃣ if >1 word, it should split when storing
📌 Phase 2 - Daily digest of words translated. Q's to ask
1️⃣ How to schedule and filter out words from previous day
2️⃣ limit of words / message to avoid super long messages?
3️⃣ via the bot or via email? What's my preferred?
4️⃣ interactive? What's the format? Tool?
Digest setup
I've gone with zapier and hit my first problem. Airtable let's me find a single record but not a group. Doing some investigating
🤨 back to integromat to find >1 airtable record. Other people have the issue also. community.airtable.com/t/zapier-find-…
🔥 tricky, but figured it out. The documentation isn't great and following the blogs is a little painful. This is the formula used to select only new records ({Status}="new").

🐰holes
community.airtable.com/t/search-recor…
chatbotslife.com/chatfuel-tutor…
✅ Integromat fetches the bundle of words (I capped at 10) then sends individual message / bundle. Surprisingly simple to set up
👀Next problem
📌 Update airtable records status field to 'sent' so that they are not resent the next day
✅ use the iterator tool. Airtable doesn't allow bulk update so up 1 by 1 using the bundle created for the 'search records' 1st step
You'll notice i had to include the iterator at the start so that it cycles through 1) telegram 2) airtable and repeat until no more records in the bundle. I'm sure there is a simpler way to do this
🤨Problem ⬇️
It looks like mailchimp doesn't allow me to use dynamic content unless I upgrade. There must be a way round this. One might be, not not use Mailchimp.
📌 Next Plan
Use Mailchimp audience and campaign. I picked a random template to get going. Integromat will populate the 10 words in a list/table format. I'm not that confident
🤨 Problem. Dynamic content only available for the paid plan and can't see a work around. Flipping to zapier email to get the process setup and i'll come back to this problem. It's going to
1️⃣integromat passes data to zapier webhook
2️⃣ zapier compile and send email
✅ Phase 2: Scheduled email with words learn't that day. #zapier #integromat #NoCode
Solution ⬇️
1️⃣ use integromat text aggregator connected airtable records
2️⃣ Send text string to zapier webhook
3️⃣ Trigger zapier email to send with dynamic content
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with NoCode Snacks

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!