Stop Forum/Thread Spam with Wammy API!

We have an antispam/antiterror API called wammy you can see the example running at I thought I would take a short moment to describe the method you would implement this across any threadnaut or foruming system so people understand how to automate it correctly.

Firstly when a new post is made you would want to run it by wammy secondary on a cron or scheduled task soon after via the callback. When you have a score for the thread or content you would then put it if it is spam in the moderation tray, if the moderator decides it isn’t spam you would exhume the thread to the public again and send it to wammy as a ‘forgot’ training call. If it is spam and the moderator deletes it then you send it to wammy as a ‘spam’ training call, you can never do to much training!

While you are doing this for each topic of threads you would generate an adverage of scoring for what is and what isn’t spam and automatically cull things after a threshold has reach where you know the scoring will be accurate.

And that basically it! You can get the source code for wammy at:


PingTrax 1.01 for XOOPS 2.5 ~ Pre-alpha!

Screenshot from 2015-12-02 17-35-22

Introducing PingTrax for XOOPS 2.5

I started work on a module I have needed for awhile combining a few different systems needed to be addressed in XOOPS which encompasses the following XML systems:-

  1. Ping Lists
  2. Trackbacks
  3. Sitemaps

This system as I have a couple of projects on at the moment and limitation to what I can work on and when may be a week or two before it is released! It uses preloaders and the Xoops Handler classes to map the site you have automatically so you need not with the sitemap module write plugin’s for every single module but that option is there as well, I will be doing examples for XCenter and Newbb/XForum apart from the default.php plugins’.

It will periodically alter your robot.txt to list various or to contain the links that have been discovered while sleeping for awhile between writing these file out put; it will also with any new discovered link periodically within a few moments of being discovered send it to a ping-list just like WordPress does with the announce of a new blog; but this is for any new User Generate Content or Admin Generated Content; using a form of XML-RPC.

One thing I have notice in going around some of the XOOPS Site is people have implemented trackbacks but only in one module, the Auto discovery (which will have a `parent-id` add to the `items` table for http:// vs. https:// so their is unilateral balances between the protocols a single identity number for a page impression) will assign a identity number to each single page impression of a unique page just once so you can either implement the smarty function in the theme which will be:~ <{xoTrackbacks module=$xoops_dirname}> or by turning on one of the two/three types of trackback blocks to allow people to embed trackbacks to any point of their public face of the XOOPS Site they are running through the trackback XML-RPC API.

The following files have been added to subversion so far if you want to check them out, for neatness:-

  • admin/index.html
  • api/
  • blocks/index.html
  • class/index.html
  • class/items_pings.php
  • class/items_sitemaps.php
  • class/items.php
  • class/pings_sitemaps.php
  • class/pings.php
  • class/plugins.php
  • class/sitemaps.php
  • class/trackback.php
  • images/logo.png
  • include/category-id-names.txt
  • include/exclude-names.txt
  • include/index.html
  • include/item-id-names.txt
  • language/english/help/help.html
  • language/english/help/index.html
  • language/english/index.html
  • language/english/modinfo.php
  • language/index.html
  • plugins/default.php
  • plugins/index.html
  • preloads/index.html
  • preloads/items.php
  • preloads/ping.php
  • preloads/sitemap.php
  • preloads/trackback.php
  • sql/index.html
  • sql/mysql.sql
  • sql/tables.json
  • templates/admin/index.html
  • templates/blocks/index.html
  • templates/index.html
  • xoops_version.php

That is all the run-time files for this Framework developed overnight!