Latest version: 0.0.4.6 ↓
The logic of Spam-o-tron is simple. We will leave Bayes alone for now. By default, any message or authorization request from a not-in-list contact is blocked and contact is hidden until verified to be a human. You have several options to do that: a challenge request with static/regexp response (“no-spam” by default, multiple answers can be provided with all/round-robin/random selection) and a simpe dynamic math expression like 3 + 2 (generated randomly). Numbers are 1 to 10 so that no one needs a calculator to get an answer. Upon receiving correct answer contact gets approved and optionally gets added to the contact list.
By default Bayes is in learning mode. That is no actions are being done to block or pass through a message or authorization request. If a contact gets approved, his previous messages are considered ham and are added to a Bayes database. If a contact doesn’t respond with a correct answer for 2 days all previous messages are considered spam. The database is an SQLite database located in Plugins/spamotron folder. Since ICQ spam is not that frequent as email spam, you might need some time for Bayes engine to learn sufficient number of messages. To speed things up you have an option to manually learn any message as spam or ham. A good place to start is a System history. Mine had a lot of spam authorization requests. Having learned at least 50 of spam and 20 of ham messages you may try to enable blocking of messages with a high spam score and/or automatically approve contacts with a low score. Both are configurable.
When multiple answers are specified %response% variable is populated with the first response value for the simple mode, random value for the random mode and a value sequentially rotated with each message from a contact for round-robin mode. Each response value can be a perl regular expression (examples: /^no[-_]?spam$/i, /no-Spam/). For simple mode the message is matched against all of the responses and for round-robin/random modes for the one used in a last challenge request that was sent to the contact. You can also use %response-n% (%response-1%, %response-2%, and so on) variables to insert a specific response in the challenge request (which makes sense only for the simple mode).
- Fixed an issue (which was mistakenly thought to be fixed) with spam contacts reappearing after restart
- Added x64 build
- Fixed a problem introduced with Miranda 0.9.16 (rev 13325)
- Moved bayes database to profile directory. You should replace your newly created bayes.db under profile directory with the old one located under plugins folder to keep your database
(<Miranda folder>\Plugins\spamotron\bayes.db → <Miranda folder>\Profiles\<Profile name>\spamotron\bayes.db)
- Added support for custom folders plugin
- Added support for regular expressions for response matching
- Added an option to specify multiple responses and 2 more modes of operation
- Fixed a problem with MetaContacts
- Fixed a not working white-list
- Changed answer matching from substring to full string. That fixes an issue where 12345 is a correct answer for 2 + 2.
- Fixed popup options not being displayed with YAPP and potentially some other popup plugins.
- Fixed unreliable detection of contacts already on list. Now a contact is considered on list if added to server-side list.
- Fixed unneeded creation of bayes database when bayes is disabled
- Fixed a bug in enabled accounts option display
- Added more control over popup notifications
- Added an option to disable challenge request on incoming message
- Added an option to mark blocked messages unread on contact approval
- Fixed some untranslatable strings
- Added option to not learn messages on auto approve by bayes filter
- Fixed temporary contacts being mistakenly deleted on next reconnect if the contact was auto approved by bayes filter
- Plugin size optimizations
- Added option in Simple mode to use case-insensitive comparison for challenge response
- Fixed temporary unverified contacts not being deleted from server-side contact list
- Fixed ReplyOnAuth setting not being used
- Fixed broken homepage url in plugin info
- Fixed a crash on receiving an authorization request
- Added resubmission of authorization request from a user after being approved
- Added Updater support
- Fixed a bug in message score calculation
- Messages will be auto-learned on bayes actions
- First public release