Why do I need another note taking solution when literally dozens of similar apps exists? Answer is simple, it takes time to adopt new app on my iPhone. Honestly, all users use only 5-6 apps on their phone. Since I use telegram as my main messaging app, I would like to have my personal bot to whom I can trust my thoughts. Also, what I don't like in all note taking apps is that I can see my notes (paradoxically) all the time. I like clean chat so i do not distract with my old notes. Thus, I needed a solution such that at any time of day I can open my primary messaging app and send note which will be saved in the simplest form to the google sheets. When I need (probably at the beginnging of day), I can open my google sheet and look through important information.
A personal Telegram bot that saves your messages as notes in Google Sheets and sends you one random note per day at a random time between 10:00 and 22:00.
- Save any message as a note
- Notes stored in Google Sheets with timestamps
- Messages auto-deleted after a short delay
- Sends back one random note per day at a random time
- Inline button to dismiss daily notes
- Fully asynchronous, simple, and minimal
git clone https://github.com/yourusername/telegram-note-bot.git
cd telegram-note-botCreate a virtual environment (optional but recommended):
python3 -m venv venv
source venv/bin/activateInstall required packages:
pip install -r requirements.txtCreate a config.py file in the project root:
TELEGRAM_TOKEN = "your-telegram-bot-token"
USER_IDS = [123456789] # Your Telegram user ID, you can input many if you want
GOOGLE_SHEETS_CREDENTIALS_FILE = "service_account.json"
SHEET_ID = "your-google-sheet-id"
WORKSHEET_NAME = "Notes"
DELETE_DELAY = 10 # seconds
RANDOM_NOTE_MIN_HOUR = 10 # 10 AM
RANDOM_NOTE_MAX_HOUR = 22 # 10 PM📝 To find your Telegram user ID, message @userinfobot.
- Create a Google Sheet and note the sheet ID from the URL.
- Create a service account in Google Cloud.
- Download the service account key file as
service_account.json. - Share the Google Sheet with the service account’s email (e.g.,
[email protected]).
python claude_bot.pyThe bot will:
- Save messages you send
- Delete them after a short delay
- Send back one random note per day
Added dockerfile from which I built my image. Important thing to consider: bot rely on timezone information, and you need to run image with your timezone
docker run -e "TZ=YourTimeZone" your-image-nameExample in my case
docker run -e "TZ=Asia/Almaty" telegram-note-bot- Add a local AI (probably LLAMA) which will read note and categorize it to the some groups: "useful quote", "gym", "remember to do", "other". Then bot should send information only from "useful quote" category.
- Add function ‘
- Add feature to talk with AI when message starts with "qq". i.e. When you enter grocery store you type "qq i am at grocery what I need to buy?" then AI will go through your notes and reply and disappeare after sometime.