MozIta Antispam (@mozita_antispam_bot) guarded the official Mozilla Italia Telegram groups. New members could not post until they had read the rules and another verified member had confirmed them. Spam accounts were kicked and banned from every enabled group at once, and the bot could also filter banned words. Admins managed the shared user lists, banned words, enabled groups, broadcasts and log downloads through text commands in a private chat with the bot. It was written in Python 3 with the telepot library.
Quick fix: the bot works in supergroups again, not only in basic groups and private chats.
The bot now acts only in private chats and groups (not in channels, for example), and it now handles pinned-message events, contributed by Damiano Gualandri (dag7dev).
Polls are now accepted events (contributed by Damiano Gualandri), plus typo and indentation fixes.
Fixed messages being reported as unrecognised when they contained a user mention (issue #22, contributed by marcodenisi).
Fixed GIF detection (#20) and improved error logging.
After reading the rules, a new member now has to wait at least 30 seconds before anyone can confirm them (#16, contributed by Ilyas).
Bug fixes and an updated icon (#17).
The bot now answers inline-button presses, which fixes the endless loading indicator (issue #14), and shows feedback messages on buttons.
Fixed the welcome message showing up for users who were already verified and not showing up for users added by someone else. The admin alert 'Cacciato' is now 'Utente rimosso'.
Admins can download log files straight from the bot. The admin command list is clearer and the code was improved.
Updated the rules link and added a 'Read the full rules' button to the confirmation message.
Users waiting for confirmation can now send stickers and GIFs as well as text.
Fixed a bug: users on the spam list no longer get a welcome message when they rejoin.
Fixed the 'removed' and 'blocked and removed' events both firing at the same time.
Fixed a problem with handling users blocked through the 'Block user' button.
Fixed handling of users who are not on any list yet. Their messages are now deleted.
Improved how users are blocked and removed (/bloccautente).
Improved the user confirmation flow for both 'Show rules' and 'Confirm user', and updated the exceptions list.
The bot no longer posts a message in the group when a user is removed.
Added a check to the user-blocking procedure.
Fixed a problem with the 'Block user' button.
Small changes to 1.4.0.
New /benvenuto command to show the welcome message again. Blocked users can report a possible mistake once, through a private chat with the bot.
Fixed a syntax error introduced in 1.3.8.
Bug fix for the admin 'invia messaggio' (broadcast) command. The messages file was reformatted with indentation (contributed by Damiano Gualandri).
Updated the bot's messages (frasi.json) and renamed some variables.
Code-quality improvements: the Pylint score went from 2.92 to 7.09 out of 10.
Bug fix: button presses from new or unverified users are no longer handled as regular messages.
Fixes to the bot and to the telegram_events module.
Various fixes. The telegram_events module was updated to 1.1.
Fixed a bug in the new message-deletion function.
Code split into functions and commented. The banned-words filter was switched off after a community poll.
Message-event detection moved into a new reusable module, telegram_events.py. Giovanni Francesco Solone revised the bot's texts.
Bug fix.
The welcome and 'rules read' messages are now deleted when someone presses their buttons (show rules, confirm user, block user).
Various fixes.
Removed the test commands and added private-chat admin commands to show or clear the white, black, temp and spam lists.
Usernames in the bot's messages are now clickable mentions shown with the user ID.
The bot's messages and button labels now live in an editable frasi.json file.
Messages now use HTML formatting instead of Markdown, and the welcome message has a new 'Block user' button.
Added some test commands for admins in private chat.
Messages with banned words are now deleted with a warning instead of the sender being banned. Admins get private alerts when a user is removed or uses banned words.
Chat history is now saved as daily log files in the history_mozitaantispam folder.
Removed the IRC-bot check, which did nothing because bots cannot see other bots' messages, and fixed some problems.
Fixed an error introduced in 1.1.4.
Handles group-photo changes and tells apart users who join or leave from users who are added or removed. Other small fixes.
Small update: the confirmation message now links to the rules.
Admins can see the version and last-update date by sending /help in private chat.
Bug fix.
Users without a Telegram username are no longer kicked. They are identified by their user ID instead. Bot messages now support Markdown.
Added emoji and made minor fixes.
Spelling fix in the welcome message.
First 1.x version. It prints the version and last-update date at startup.
Verified users without a username are no longer banned, and the removal message is clearer. Forbidden messages coming from the IRC bridge bot are deleted without a ban.
Stickers now go through the banned-words filter using their emoji. The bot token moved to a config.ini file.
Private chats and non-enabled groups are now told apart. Added an ECCEZIONI.md list of handled exceptions and an icon, and renamed the main file to antispam_mozita.py.
Small fix: users without a username are handled separately from spam users.
Added a small check and updated the welcome messages.
Fixed some errors, handled some exceptions, and private chats are now logged too.
Finished the admin commands: manage users, banned words and enabled groups, and send a message to every enabled group. Users without a username are banned automatically.
Fixed list import and export. The spam-list check now runs first, and join/leave messages are always shown.
Lists are now imported from and exported to JSON files.
Edited messages and replies are now marked. The bot tells enabled groups apart from private chats, and the first manual controls for admins were added.
Added the AdminList, WhiteList, BlackList, TempList and SpamList. Members must read the rules before they can be confirmed. Also added a banned-words filter, chat-history logging and per-group welcome messages.
Added the 'Confirm user' procedure. Only new members get the welcome message, and messages from unverified users are deleted automatically.
Early preview: the bot deletes messages from unverified users, bans spam users and welcomes new members.
First code of the antispam bot.