Transform any Telegram bot into (almost) an app

Telegram bots are powerful tools that can do a lot of things. However, they have at least one major drawback: to use a bot you have to find the Telegram app, open it, find and, finally, open the bot. It introduces significant overhead and friction, reducing the likelihood that the bot will be used. Turns out, you can create a shortcut for any one on one chat with a bot – it will open the Telegram app and required chat automatically....

2022-01-13 · 3 min

End-to-end tests for Telegram bots

I think there is no need to say that automatic testing is a must in software development. Tests improve the quality of the code, give confidence in it and make it more stable. However, not all tests are created equal: they differ both in what they test and how hard it is to set them up and maintain. For instance, it is relatively easy to write unit tests. In turn, they tell you very little about how your system will behave in production....

2021-12-13 · 12 min

Using Python decorators to process and authorize requests

When building any system that interacts with users you always need to check that they are who they are claiming to be and whether they are allowed to do what they are trying to do. In other words, you need to authenticate and authorize users. Chatbots are no exception. Strictly speaking, with chatbots you do not need to authenticate users yourself – the platform does it for you. However, on each request you still have to load the user model and authorize it....

2021-12-06 · 5 min

Choosing a platform: advantages and disadvantages of chatbots

When answering the question of why I should do a millionth shopping list app I gathered the main requirements it must satisfy to cover my use case: multi-platform – I should be able to use it on any device, including mobile and desktop interactive – users can edit items and lists, change their status, hide done items, keep track of several contexts, etc. fast – the app should load fast to decrease cognitive resistance and load...

2021-11-22 · 4 min

'Why' of a project: listOK

Recently I have outlined my framework for determining the ‘why’ of a project: what problem it solves and what are its main requirements and target, its return on investment, and, finally, if it is at all viable. Today we will look at how it works on a small pet project of mine listOK – a shopping/to-do list Telegram bot (project page).1. What problem does the project solve? Keeping track of items they need to buy/do in different contexts/places....

2021-11-08 · 6 min