All Projects → hangoutsbot → Hangoutsbot

hangoutsbot / Hangoutsbot

Licence: agpl-3.0
Google Hangouts bot

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Hangoutsbot

Node Telegram Bot Api
Telegram Bot API for NodeJS
Stars: ✭ 5,782 (+900.35%)
Mutual labels:  bot, chatbot
Poshbot
Powershell-based bot framework
Stars: ✭ 410 (-29.07%)
Mutual labels:  bot, chatbot
Snips Nlu
Snips Python library to extract meaning from text
Stars: ✭ 3,583 (+519.9%)
Mutual labels:  bot, chatbot
Clause
🏇 聊天机器人,自然语言理解,语义理解
Stars: ✭ 323 (-44.12%)
Mutual labels:  bot, chatbot
Onebot
OneBot 标准:一个聊天机器人应用接口标准
Stars: ✭ 455 (-21.28%)
Mutual labels:  bot, chatbot
Wechaty Getting Started
A Starter Project Template for Wechaty works out-of-the-box
Stars: ✭ 330 (-42.91%)
Mutual labels:  bot, chatbot
Chat Bubble
Simple chatbot UI for the Web with JSON scripting 👋🤖🤙
Stars: ✭ 370 (-35.99%)
Mutual labels:  bot, chatbot
Python Telegram Bot
We have made you a wrapper you can't refuse
Stars: ✭ 17,209 (+2877.34%)
Mutual labels:  bot, chatbot
Nlp.js
An NLP library for building bots, with entity extraction, sentiment analysis, automatic language identify, and so more
Stars: ✭ 4,670 (+707.96%)
Mutual labels:  bot, chatbot
Nlpia
Examples and libraries for "Natural Language Processing in Action" book
Stars: ✭ 416 (-28.03%)
Mutual labels:  bot, chatbot
Dialogflow Web V2
Dialogflow Web Integration. Rich Components, Actions on Google and more
Stars: ✭ 307 (-46.89%)
Mutual labels:  bot, chatbot
Slacker
Slack Bot Framework
Stars: ✭ 495 (-14.36%)
Mutual labels:  bot, chatbot
Sapconversationalai
✨ 🤖 🤖 Build your own conversational bot on our Collaborative Bot Platform! 🤖🤖 ✨
Stars: ✭ 247 (-57.27%)
Mutual labels:  bot, chatbot
Intelligo
🤖 Chatbot Framework for Node.js.
Stars: ✭ 347 (-39.97%)
Mutual labels:  bot, chatbot
Gpt2bot
Your new Telegram buddy powered by transformers
Stars: ✭ 228 (-60.55%)
Mutual labels:  bot, chatbot
Bottender
⚡️ A framework for building conversational user interfaces.
Stars: ✭ 3,803 (+557.96%)
Mutual labels:  bot, chatbot
Urban Bot
🤖 The universal chatbot library based on React. Write once, launch Telegram, Facebook, Slack, ... every messenger with chatbots
Stars: ✭ 223 (-61.42%)
Mutual labels:  bot, chatbot
Rasatalk
A chatbot framework for Rasa NLU
Stars: ✭ 225 (-61.07%)
Mutual labels:  bot, chatbot
Botlibre
An open platform for artificial intelligence, chat bots, virtual agents, social media automation, and live chat automation.
Stars: ✭ 412 (-28.72%)
Mutual labels:  bot, chatbot
Stealth
An open source Ruby framework for text and voice chatbots. 🤖
Stars: ✭ 481 (-16.78%)
Mutual labels:  bot, chatbot

Introduction

Hangupsbot is a chat bot designed for working with Google Hangouts.

Please see:

Repository Links

Features

  • Mentions : If somebody mentions you in a room, receive a private hangout from the bot with details on the mention, including context, room and person who mentioned you.
  • Syncouts : A syncout is two Hangout group chats that have their messages forwarded to each other, allowing seamless interaction between the two rooms. Primarily used to beat the 150-member chat limit, but it can also be used for temporarily connecting teams together to interact.
  • Cross-chat Syncouts : Half of your team is on Slack? No problem! You can connect them into the same room to communicate. Support for other chat clients coming soon.
  • Hubot Integration: Hangupsbot allows you to connect to Hubot, instantly providing you access to hundreds of developed chat tools and plugins.
  • Plugins and sinks : The bot has instructions for developing your own plugins and sinks, allowing the bot to interact with external services such as your company website, Google scripts and much more.
  • Plugin mania : games, nickname support, subscribed keywords, customizable API - the list goes on!

Running The Bot

Note: First run? See the installation instructions

To execute: python3 hangupsbot.py

usage: hangupsbot [-h] [-d] [--log LOG] [--cookies COOKIES] [--memory MEMORY] [--config CONFIG] [--version]

optional arguments:
-h, --help         show this help message and exit
-d, --debug        log detailed debugging messages (default: False)
--log LOG          log file path (default:
                   ~/.local/share/hangupsbot/hangupsbot.log)
--cookies COOKIES  cookie storage path (default:
                   ~/.local/share/hangupsbot/cookies.json)
--memory MEMORY    memory storage path (default:
                   ~/.local/share/hangupsbot/memory.json)
--config CONFIG    config storage path (default:
                   ~/.local/share/hangupsbot/config.json)
--version          show program's version number and exit

Bot Configuration for Administrators

Configuration directives can be specified in config.json.

Please note that the config.json file supplied with the repository is not supposed to be edited/changed. It is the reference file used by the bot to create the actual configuration file located elsewhere in the system. To find out where the actual file is, please see the Additional Configuration section in the installation instructions.

Most configuration directives are specified globally

  • Global directives are always specified in the "root" of config.json.
  • To specify a per-conversation directive, the same configuration option should be defined as config.conversations[<conversation-id>].<configuration option>.
  • Per-conversation directives override global settings, if both are set.
  • Manually-configured per-conversation directives are DEPRECATED.

Plugins

The plugins key in config.json allows you to optionally specify a list of plugins that will be loaded by the bot on startup. If this option is left as null, then all available plugins will be loaded.

To specify the plugins to be loaded, first ensure that the correct .py files are inside your hangupsbot/plugin/ directory, then modify the plugins key in config.json to reflect which plugins/files you want to load e.g. plugins: ["mentions", "default", "chance", "syncrooms"]

Some plugins may require extra configuration. config.json is the the configuration provider for the bot and its plugins.

Some interesting plugins:

  • mentions plugin
    • alert users when their names are mentioned in a chat
  • subscribe plugin
    • alert users when keywords they are subscribed to are said in a chat
  • syncout / syncrooms plugins
    • relay chat messages between different hangout group conversations (syncrooms)
    • configure via bot commands (syncrooms_config)
    • automated translation via Google Translate of relayed messages (syncrooms_autotranslate)

The wiki has a more comprehensive list of plugins...

Interacting with the Bot

There are two general types of interactions with the bot:

  • /bot commands begin with /bot e.g. /bot dosomething
    • some bot commands are admin-only
  • custom interactions (usage and accessibility varies by plugin)

The base bot supports some basic command even without any plugins loaded. Here is a partial list:

/bot help

  • Bot lists all supported commands in a private message with the user

/bot ping

  • Bot replies with a pong.

/bot version

  • Bot replies with the version number of the framework

A full list of commands supported by the base framework is available at the Core Commands wiki page.

The wiki also has a list of plugins detailing available plugins with commands lists and usage.

Updating

  • Navigate to the bot directory (eg. cd ~/hangupsbot)
  • Change to the latest stable branch using git checkout master
  • git pull to pull the latest version of hangupsbot
  • pip3 install -r requirements.txt --upgrade
  • Restart the bot

Debugging

  • Run the bot with the -d parameter e.g. python3 hangupsbot.py -d - this lowers the log level to INFO for a more verbose and informative log file.
  • tail the log file, which is probably located at /<user>/.local/share/hangupsbot/hangupsbot.log - the location varies by distro!
  • Console output (STDOUT) is fairly limited whatever the log level, so rely on the output of the log file instead.

Tips for troubleshooting

Program isn't running:

  • Update hangupsbot and hangups
  • Run hangups to check if the original hangups library is working
    • If there are errors, delete the cookie at ``~/.local/share/hangupsbot/cookies.json` and try again
    • Log into your Google Account from the server's address.

Bot isn't responding to messages:

  • Check that the chats are not going into the 'Invites' section of Hangouts.

Extending

Please see https://github.com/hangoutsbot/hangoutsbot/wiki/Authoring-Bot-Extensions

Credits / History

Hangoutsbot is derived from the mogunsamang bot, which itself is a fork of xmikos's hangupsbot

On 2015-06-20, this fork was detached and made standalone on GitHub

On 2015-07-03, the fork was made into a Github Organisation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].