COLUMBO

The COLUMBO (Canon Orienté sur Linuxfr Uxamisant des Moinsages en Basse Orbite) project is a social application which aims to share the available rates on DLFP with other people to synchronize attacks on a content target.

Features

  • Target a content on LinuxFr to request a plusse or a moinse from other colombins.
  • A request can also be created to tag a content.
  • Agree or refuse requests from other colombins.
  • When two colombins have agreed a request, it is accepted and every others will automatically plusse or moinse the content.
  • To synchronize colombins, the board is used as a transport layer for the COLUMBO protocol.
  • Setup your friend and enemies list, to automatically agree or refuse requests from them.
  • When a request is related to a content of one of your friend, COLUMBO will automatically plusse it (even if the request wanted to moinse it). Likewise with your enemies.

Dependencies

  • Weboob >= 0.7 (not yet released)

Download

Go on the Files page.

Development

To get the development version, use git:

$ git clone git://git.symlink.me/pub/romain/columbo.git

Use it

Create backends

Firstly, you have to create a backend for your account on DLFP. To do it, use:

$ weboob-config add dlfp
Configuration of backend
------------------------
[username] Username: moules
[password] Password (hidden input):
[get_news] Get newspapers (Y/n):
[get_diaries] Get diaries (y/N):
------------------------
Backend "dlfp" successfully added.

Don't care about get_news and get_diaries settings, they are not needed with COLUMBO.

If you have multis, you can add other backends. It will request an other name than dlfp.

Configure COLUMBO

Create the file ~/.weboob/columbo and put in:

[board]
# Name of backend to use on the board
backend = dlfp
# Interval to refresh the board (in seconds)
refresh = 60
# Ignore old requests sent before you started COLUMBO
ignore_old = 1

[rules]
# List of friends
friends = moules pankkake
# List of enemies
enemies = Zenitram pff

Run it

$ columbo
Welcome to columbo v1.0

Loading backends... moules(B) mr_spoke

Your friends are: moules, pankkake
Your enemies are: Zenitram, pff
Btw, please try to target mainly Zenitram< or pff<.

To create a request, enter URL of a content, or wait to answer to questions.

Enter an URL>

Create a request on a comment

I you want to ask colombins to help you to plusse or to moinse a comment, you can enter the URL in COLUMBO:

Enter an URL> http://linuxfr.org/nodes/85076/comments/1216808
Do you want to (p)lusse or (m)oinse this comment? [p/m] p
A request has been sent to other colombins. It will require the agree from 2 of them.
You'll be notified when it will be ok.
Enter an URL>

Firstly, you and all of your multis vote on this comment. Then, it sends a message to others colombins to ask them if they want to accept or no your request.

When at least two colombins has agreed you request, it is accepted and every other colombins will process your request.

Create a request on a news or a diary

It is excatly the same thing, but you can also set a tag:

Enter an URL> https://linuxfr.org/news/weboob-06
================================
!!! New request from moules< !!!
URL: https://linuxfr.org/news/weboob-06
Title: Internet — Weboob 0.6
Author: moules< (moules)
Current score: 36
================================
Do you want to (p)lusse, (m)oinse or (t)ag this content? [p/m/t] t
Enter the tag you want to set: weboob

A request has been sent to other colombins. It will require the agree from 2 of them.
You'll be notified when it will be ok.
Enter an URL>

Agree a request

When someone sent a request, you see this query:

================================
!!! New request from moules !!!
URL: http://linuxfr.org/nodes/85076/comments/1216808
Title: TF1
Author: sebastienb< (Sébastien Bernery)
Current score: 6
Wanted relevance: plusse
================================
Do you agree? [y/n/p/m]
  • If you enter y, you will plusse (or moinse if the request wants to moinse it) this content, and send a message to others colombins to tell them that you agree this request.
  • If you enter n, you refuse the request and nothing happens.
  • If you enter p, you will plusse this content, even if the request wants to moinse it.
  • If you enter m, you will moinse this content, even if the request wants to plusse it.

Request from a friend

If the request is sent by a friend, you will automatically agree it.

Request from an enemy

If the request is sent by an enemy, you will automatically refuse it.

Request to vote on a friend's content

If the request wants to plusse a friend's content, you will automatically agree it.
If it wants to moinse it, you will refuse the request, and plusse the content anymay.

Request to vote on an enemy's content

If the request wants to moinse an enemy's content, you will automatically agree it.
If it wants to plusse it, you will refuse the request, and moinse the content anyway.

Ambiguity

If there is an ambiguity (for example, a request from a friend to plusse an enemy), no decision will be taken automatically.

Also available in: HTML TXT