Skip to content

A node.js module for automatically sending new Kijiji ads through Facebook messages

License

Notifications You must be signed in to change notification settings

mwpenny/kijiji-fb-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kijiji-fb-bot

A node.js bot that scrapes recent Kijiji ads and sends them in a Facebook message.

Features

  • Automatically receive new Kijiji ads matching given search criteria
  • Send commands to the bot to manually retrieve ads

Dependencies

Installation

npm install kijiji-fb-bot

Configuration

You can configure the bot by placing the following JSON files in a configuration directory:

  • botprops.json - Contains basic bot properties:
 {
    "name": "bot name (used for chat commands)",
    "chatId": <chat id to send automatic updates>,
    "scrapeInterval": <frequency of scrapes (in ms)>,
    "remoteAdmin": <1 or 0>
 }
  • facebook.json - Contains the Facebook credentials the bot will use to log in:
{
    "email": "Facebook account email",
    "password": "Facebook account password"
}

Documentation

init(configDir, callback)

Will call callback with a function to stop the bot.

Arguments
  • configDir - The directory containing the bot's configuration files.

  • callback(err, stop) - A callback called after the bot has been started. If there is an error, err will not be null. If everything was successful, stop will be a function that, when called, sets the bot to stop after the next chat message is received. It cannot be stopped immediately as a result of a limitation of the facebook-chat-api module.

Example usage
var bot = require("kijiji-fb-bot");

bot("json/botconfig", function(err, stop) {
    //The bot will work its magic
    //Call stop() when done
});

Chat commands

The bot can be interacted with by sending it Facebook messages. Each command must be prefixed with the bot name specified in botprops.json. The following commands are supported:

  • list - The bot will reply with a list of the last scraped ads.
  • scrape - The bot will scrape and reply with ads posted to Kijiji since the last scrape.
  • info - The bot will reply with information about its state.
  • help - The bot will reply with information about its chat commands.

Additionally, if remoteAdmin is set to 1 in botprops.json, the following chat commands will be available:

  • botprop [prop] [val] - Will set the value of property prop specified in botprops.json to val.
  • adpref [pref] [val] - Will set the value of preference pref specified in adprefs.json to val.
  • searchparam [param] [val] - Will set the value of parameter param specified in searchparams.json to val.

If the val argument is omitted for any of these commands, the bot will reply with the current value.

Example usage

[BOTNAME] [COMMAND] [ARGS]

About

A node.js module for automatically sending new Kijiji ads through Facebook messages

Resources

License

Stars

Watchers

Forks

Packages

No packages published