Talkatoo bot API
Project description
Talkatoo
Talkatoo is a beginner-friendly messaging app built with Python, Flask, SQLite, and Flask-SocketIO. It runs as a normal web app and can also be packaged as a Windows EXE with PyInstaller.
Features
- Account signup and login
- Multiple users/profiles under one account
- Display name, unique username, profile picture, and status
- Friend search by username
- Friend requests with accept and decline
- Private chats between friends
- Group chats with group name, icon, members, and owner/member roles
- Live messages with Socket.IO
- Developer accounts with bot tokens
- Python bot API for sending live chat messages
- Typing bubbles
- Simulated call panel with Calling, In call, mute, speaker, and hang up
- Chat stays usable while the call panel is open
- Settings page
- Admin/debug page for viewing users, chats, friend requests, and recent messages
- Local SQLite database
- Uploads folder for profile pictures and group icons
Demo Users
The first time the app starts, it creates demo data.
| Password | Profiles | |
|---|---|---|
demo@talkatoo.local |
password |
maya, scout |
friends@talkatoo.local |
password |
theo, ari |
Windows Setup in VS Code
- Open this folder in VS Code.
- Open the VS Code terminal.
- Create a virtual environment:
python -m venv .venv
- Activate it:
.\.venv\Scripts\Activate.ps1
- Install dependencies:
python -m pip install -r requirements.txt
Run the Web App
python app.py
Then open:
http://127.0.0.1:5000
If Windows says port 5000 is already in use, run Talkatoo on another port:
$env:PORT="5055"
python app.py
Then open:
http://127.0.0.1:5055
The app stores data in database.db. Uploaded images are stored in uploads/.
Bot Python API
Talkatoo includes developer bot tokens. Bot messages are saved to SQLite and broadcast live to open chats through Socket.IO, so people do not need to refresh.
Create a token:
- Log in.
- Open Settings.
- Check
Developer account, then save. - Use the
Bot tokensbox to create a token.
Use the token from Python:
from talkatoo_bot import TalkatooBot
bot = TalkatooBot("paste-your-token-here", "http://127.0.0.1:5000")
print(bot.me())
print(bot.chats())
bot.send_message(1, "Hello from my bot!")
You can also run the starter file:
python examples\bot_example.py
Bot HTTP endpoints:
GET /api/bot/me
GET /api/bot/chats
POST /api/bot/chats/<chat_id>/messages
Use this header:
Authorization: Bearer your-token-here
Build the Windows EXE
Make sure your virtual environment is activated, then run:
python build_exe.py
When the build finishes, the EXE will be here:
dist\Talkatoo.exe
Run that file to start the desktop version. It opens the same local Talkatoo app at http://127.0.0.1:5000.
Notes for Real Calling Later
The current call UI is simulated on purpose. The Socket.IO call_event handler in app.py is the place where future WebRTC signaling can be added. A real version would exchange offers, answers, and ICE candidates between chat members.
Project Structure
app.py
requirements.txt
build_exe.py
README.md
database.db
templates/
static/
uploads/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file talkatoo_bot-0.1.0.tar.gz.
File metadata
- Download URL: talkatoo_bot-0.1.0.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49cdc473596bbad2a556bbb60ffc702d886fc844a9af9a795f0b6ca24fb815a9
|
|
| MD5 |
1ebe84f1185f2a7be75ec83cb1a67232
|
|
| BLAKE2b-256 |
45b3af04b6228dee175803f1cfea640ef4cc8e1301db90ba852c8c189fdb6888
|
File details
Details for the file talkatoo_bot-0.1.0-py3-none-any.whl.
File metadata
- Download URL: talkatoo_bot-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f4743313bb15cc80715656bb5d5dc726454926602d245f46957490980b4ba45
|
|
| MD5 |
383873074ec10287d2ccca19cc74bc1f
|
|
| BLAKE2b-256 |
4d1856259736bea8b6f19ecfcff38b05d6d7d511e48bf50d2a580cfcc05b6f3e
|