This website requires JavaScript.
explore
Help
Sign In
earthjasonlin
/
ai-mail-bot
Watch
1
Star
0
Fork
0
Code
Issues
Pull Requests
Actions
Packages
Projects
Releases
Wiki
Activity
109
Commits
1
Branch
0
Tags
main
T
Add File
New File
Upload File
Apply Patch
Code
Clone
HTTPS
Tea CLI
Open with VS Code
Open with VSCodium
Open with Intellij IDEA
Download ZIP
Download TAR.GZ
Download BUNDLE
earthjasonlin
c28825ec87
fix: use find_user_by_chat_id for expand_promo_detail AI config
2026-07-23 11:28:28 +08:00
src
fix: use find_user_by_chat_id for expand_promo_detail AI config
2026-07-23 11:28:28 +08:00
.gitignore
fix: update email_client and smtp_client for new config structure - email_client: use account.imap.server/port/ssl/starttls instead of flat fields - smtp_client: use s.ssl/starttls instead of s.use_ssl/use_starttls - tg_bot: fix _do_send_reply to use find_user_by_chat_id for email_accounts
2026-07-17 22:19:20 +08:00
activate.bat
feat: init AI email summarization bot
2026-07-02 19:45:34 +08:00
activate.ps1
feat: init AI email summarization bot
2026-07-02 19:45:34 +08:00
app.log
fix: use ellipsis character instead of dots in status messages for MarkdownV2 compatibility
2026-07-13 08:28:23 +08:00
config.example.json
feat: multi-user support - Config format: JSON with bot_token (global), users array - Each user has chat_id, AI config, email_accounts - Each email account has separate IMAP/SMTP with ssl/starttls - Config module: new dataclasses (UserConfig, ImapConfig, SmtpConfig) - find_user_by_chat_id() for callback dispatch - Main: email poller iterates all users, queues carry user object - Summarizer: accepts UserConfig, uses user-specific AI and chat_id - TG bot: all functions use bot_token string instead of TelegramConfig - Callback/message handlers look up user by chat_id - AI regen/hint threads use find_user_by_chat_id for AI config - Config example: config.example.json - Tests: 3/3 passing
2026-07-17 22:05:59 +08:00
main.py
feat: multi-user support - Config format: JSON with bot_token (global), users array - Each user has chat_id, AI config, email_accounts - Each email account has separate IMAP/SMTP with ssl/starttls - Config module: new dataclasses (UserConfig, ImapConfig, SmtpConfig) - find_user_by_chat_id() for callback dispatch - Main: email poller iterates all users, queues carry user object - Summarizer: accepts UserConfig, uses user-specific AI and chat_id - TG bot: all functions use bot_token string instead of TelegramConfig - Callback/message handlers look up user by chat_id - AI regen/hint threads use find_user_by_chat_id for AI config - Config example: config.example.json - Tests: 3/3 passing
2026-07-17 22:05:59 +08:00
MEMORY.md
feat: support attachments in manual reply (photo/video/document/voice) - Add _extract_media: extract media info from Telegram messages - Add _download_tg_file: download files from Telegram API - Modify _handle_message: accumulate attachments in awaiting_reply, send with text - Modify _handle_update: process messages without text (media-only) - Modify smtp_client.send_reply: support MIME multipart with attachments - Add comprehensive tests (11 tests, all passing)
2026-07-17 19:04:27 +08:00
requirements.txt
chore: 添加 requirements.txt
2026-07-02 22:05:07 +08:00
S
Description
A Telegram bot that handles your email with AI
689
KiB
0
Stars
1
Watchers
0
Forks
Languages
Python
99.7%
PowerShell
0.2%
Batchfile
0.1%