Skip to content
endonline edited this page Apr 16, 2017 · 92 revisions

(Note for Developers & Botmins: Plugin file/folder are matched to their actual names e.g. the default plugin can be found as plugins/default.py; and the image_linker_reddit plugin files can be found in the plugins/image_linker_reddit/ subfolder)

Standard Plugins

These are user-centric plugins.

  • api: API to allow external services to run commands on the bot.
  • autoreply: bot will automatically reply to some keyword it sees in chats
  • botaliases: allows custom aliases for bot (e.g. /bot, !bot, !xyz, etc)
  • botaddnotify: if the bot added to a HO conversation the bot sends a message to the bot admins in 1:1 message.
  • botalive: advances the bot's last read status (watermark) every 15 minutes for global admins 1-to-1s, and groups every 3 hours - so that you know the bot is working
  • cam_mail_intercept: used for integrating surveillance systems, webcams and home automation systems into hangoutsbot
  • chance: users can roll a dice and flip coins
  • chatlogger: log all chats to individual files, a modernised version of the obsolete chatlogger hooks
  • cleverbot: implements (unofficially) Cleverbot replies to user messages
  • convtools: add users and create conversations
  • default: standard set of commands that can be used for bot administration and testing
  • dnd: sets Do Not Disturb status, used by plugins: mentions, subscribe
  • easteregg: delight (annoy) users with ponies and pitchforks!
  • image_linker_reddit: detects keywords and displays meme-related images - based on Reddit Image Linker Bot
  • forecast: gets current weather for a given location
  • forwarding: forward messages from one conversation to another
  • humor_hangoutcalls: detects video/voice calls and displays an amusing message after the call ends - also useful as working example for video/voice call handling
  • image: implements shared image validation and upload functions for other plugins - should be loaded when other plugins that rely on images are used, and/or you're developing image-based plugins
  • image_links: detects user-posted image links and attaches the image (works with imgur links too!)
  • image_memegenerator: searches and returns related meme from http://memegenerator.net/
  • image_screenshot: take screenshots of urls (with the phantomjs headless web-browser)
  • lookup: search a linked google spreadsheet and return the row
  • lottery: administrators can create and run "lucky draws" for users
  • mentions: receive an alert when somebody @mentions your name or nickname
  • metar: display aviation weather reports (e.g. /bot {metar|taf} <icao-airport-code>)
  • monitoradds: warn non-admin/mod users who add others into group hangouts
  • namelock: lock the title of any group conversation and prevent users from changing it
  • pluginmanager: view all available plugins, load and unload plugins, and rewrite your config [ver>=3.0.0] integrated as a system-level plugin and no longer needs to be loaded
  • remind: set a reminder for yourself or a group X minutes from now
  • restrictedadd: only authorised users can add the bot into a conversation
  • showme: retrieve images stored in hangoutsbot server (README in plugin)
  • simplewikipedia: retrieve info from wikipedia with /bot wiki <term>
  • simplytranslate: translate any sentence with Google Translate integration - currently broken, may be removed
  • slack: basic message synchronisation/relay for hangouts and slack chats - limited support
  • slackrtm: full-fledged message synchronisation/relay for hangouts and slack chats
  • spawn: run pre-configured unix command, redirect output back to conversation or DM to user
  • spotify: adds music links to a Spotify playlist
  • starter: basic set of tools and functionality to get the bot running
  • subscribe: receive alerts when specific keywords are said in a chat
  • syncrooms: sync messages between separate hangouts group chats
    • syncrooms_config: attach/detach conversation groups to syncroom groups using bot commands
    • syncrooms_autotranslate: automatic translation of chats between conversation groups - currently broken, may be removed
  • telesync: full-fledged message synchronisation/relay for hangouts and telegram chats
  • twitter: missing documentation
  • tldr: store text (a TLDR) for later retrieval - similar to pinning content
  • urbandict: get definitions from the creative users at http://www.urbandictionary.com with /bot urbandict <term>
  • webbridge_hubot: integrate with HUBOT
  • wolframalpha: query WolframAlpha using /bot ask <term>. requires an API key from the website
  • xkcd: show comic from an XKCD link e.g. http://www.xkcd.com/

Example Plugins

These plugins are suitable references for beginning plugin developers.

Note: Plugin names that start with an underscore (_) are disabled on startup.

  • _example_memory: demonstrates bot per-user and per-conversation memory
  • _example_printrenames: outputs conversation rename events to console
  • _example_watchmembers: outputs group membership changes i.e. users joining and leaving to console
  • _example_webbridge: simple web-bridge that implements an incoming request listener with BaseBotRequestHandler and an outgoing message handler (outputs to console)

Unit-test Plugins

Unit-test plugins are used to test key framework features. They are also suitable for intermediate to advanced plugin developers.

Note: Plugin names that start with an underscore (_) are disabled on startup.

  • [ver<2.7] unittest_convmem
  • [ver<2.7] unittest_tags
  • [ver<2.7] unittest_geticon; [ver>=2.7] _unittest_geticon
    • uses hangouts contact/getentitybyid API query to retrieve photo url of user
  • [ver<2.7] unittest_reprocessor; [ver>=2.7] _unittest_reprocessor
    • test hidden message context and processing
  • _unittest_memory
    • low-level test function for bot.memory
    • WARNING: enabling and using this plugin can result in memory corruption!
  • _unittest_shutup
    • test sending handler priority and suppression
    • WARNING: enabling this blocks all bot messages!
  • [ver<2.7] unittest_statusevents; [ver>=2.7] unittest_statusevents
    • demonstrates watermark and typing handlers, output latest read state (watermark) of users and their active typing status to console/stdout
Clone this wiki locally