Giter VIP home page Giter VIP logo

discourse-akismet's Introduction

discourse-akismet

Spam Sucks, Fight it with Akismet

Discourse is great, but spam can be a problem. Akismet is a well known service that has an algorithm for detecting spam. Akismet is NOT free for commerical use, but can be for personal use. To use this plugin you will need an Akismet API key. You can get a key by starting out here.

How it Works

The plugin works by collecting info about a new post's http request. Every 10 minutes a background jobs run which looks for posts to submit. All new posts are sent to Akismet to determine if they are spam or not. If a post is deemed spam, it is deleted and placed in a moderator queue where admins can take action against it. An admin can do the following:

Action Result
Confirm confirms the post as spam, leaving it deleted
Allow Akismet thought something was spam but it wasn't. This undeletes the post and tells Akismet that it wasn't spam. Akismet gets smarter so it hopefully won't make the same mistake twice.
Delete user The nuclear option. It will delete the user and all their posts and topics and block their email and ip address.

What Data is Sent to Akismet

Field Name Discourse Value
Author User's Name
Author Email User's verified email (can be disabled with the akismet_transmit_email site setting)
Comment Type "forum-post"
Content Post's raw column
Permalink Link to topic
User IP IP address of request
User Agent User agent of request
Referrer HTTP referer of request

Installation

Just follow our Install a Plugin howto, using git clone https://github.com/discourse/discourse-akismet.git as the plugin command.

Development Setup

Do the following

cd plugins
git clone https://github.com/verdi327/akismet.git

Once Discourse starts up make sure you enter your akismet_api_key under site settings.

Testing

Once you have the plugin installed, let's do a quick test to make sure everything is working. Login as a non admin user and create a new topic and post. Use the following info.

title: Spam test - Will this plugin do what it says!
post: love vashikaran, love vashikaran specialist,919828891153 love vashikaran special black magic specialist hurry hurry love now

Now, go to /sidekiq/scheduler and find the CheckForSpamPosts jobs and trigger it. Now, as an admin, go to /admin and look for the tab that says Akismet in the menu bar. Upon clicking you should see the post with some additional info about it.

Contributing

Help make this plugin better by submitting a PR. It's as easy as 1-2-3

  • fork the repo
  • create a feature branch
  • rebase off master and send the pr

This project uses MIT-LICENSE.

Hipchat Integration

If you want to notify Hipchat when spam is found, consider installing the discourse-akismet-hipchat as well!

Authors

The original plugin was authored by Michael Verdi (@verdi327) for use at New Relic. It has since been forked and refactored by Robin Ward (@eviltrout) at Discourse.

discourse-akismet's People

Contributors

eviltrout avatar riking avatar verdi327 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.