{"id":13586696,"url":"https://github.com/hangoutsbot/hangoutsbot","last_synced_at":"2026-01-12T08:02:24.403Z","repository":{"id":26068251,"uuid":"29511948","full_name":"hangoutsbot/hangoutsbot","owner":"hangoutsbot","description":"Google Hangouts bot","archived":false,"fork":false,"pushed_at":"2023-12-02T23:56:51.000Z","size":2608,"stargazers_count":568,"open_issues_count":92,"forks_count":269,"subscribers_count":79,"default_branch":"master","last_synced_at":"2024-12-06T19:41:13.343Z","etag":null,"topics":["bot","chatbot","hangouts","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hangoutsbot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-01-20T04:37:44.000Z","updated_at":"2024-12-03T03:29:55.000Z","dependencies_parsed_at":"2024-11-06T05:32:34.319Z","dependency_job_id":"6fe433f2-41f8-4665-8d04-429f38dae272","html_url":"https://github.com/hangoutsbot/hangoutsbot","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hangoutsbot%2Fhangoutsbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hangoutsbot%2Fhangoutsbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hangoutsbot%2Fhangoutsbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hangoutsbot%2Fhangoutsbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hangoutsbot","download_url":"https://codeload.github.com/hangoutsbot/hangoutsbot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247707763,"owners_count":20982844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","chatbot","hangouts","python"],"created_at":"2024-08-01T15:05:45.015Z","updated_at":"2026-01-12T08:02:24.374Z","avatar_url":"https://github.com/hangoutsbot.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Introduction\n\nHangupsbot is a chat bot designed for working with Google Hangouts.\n\nPlease see:\n* [Instructions for installing](https://github.com/hangoutsbot/hangoutsbot/blob/master/INSTALL.md)\n* [Issue tracker](https://github.com/hangoutsbot/hangoutsbot/issues) for bugs, issues and feature requests\n* [Wiki](https://github.com/hangoutsbot/hangoutsbot/wiki) for everything else\n\n\n## Repository Links\n* [GitHub Organisation](https://github.com/hangoutsbot)\n* [Translation Project](https://github.com/hangoutsbot/hangoutsbot-locales)\n* [Reference Hangups Library](https://github.com/hangoutsbot/hangups)\n\n\n## Features\n* **Mentions** :\n  If somebody mentions you in a room, receive a private hangout from the bot with details on the mention,\n  including context, room and person who mentioned you.\n* **Syncouts** :\n  A syncout is two Hangout group chats that have their messages forwarded to each other, allowing seamless\n  interaction between the two rooms. Primarily used to beat the 150-member chat limit, but it can also be\n  used for temporarily connecting teams together to interact.\n* **Cross-chat Syncouts** :\n  Half of your team is on Slack? No problem! You can connect them into the same room to communicate.\n  Support for other chat clients coming soon.\n* **[Hubot Integration](https://github.com/hangoutsbot/hangoutsbot/wiki/Hubot-Integration)**:\n  Hangupsbot allows you to connect to [Hubot](https://hubot.github.com/), instantly providing you access\n  to hundreds of developed chat tools and plugins.\n* **Plugins and sinks** :\n  The bot has [instructions for developing your own plugins and sinks](https://github.com/hangoutsbot/hangoutsbot/wiki/Authoring-Bot-Extensions), allowing the bot to interact\n  with external services such as your company website, Google scripts and much more.\n* **Plugin mania** :\n  games, nickname support, subscribed keywords, customizable API - **[the list goes on](https://github.com/hangoutsbot/hangoutsbot/wiki/Plugin-List)**!\n\n# Running The Bot\n\nNote: **First run?** See the [installation instructions](https://github.com/hangoutsbot/hangoutsbot/blob/master/INSTALL.md)\n\nTo execute: `python3 hangupsbot.py`\n\n```\nusage: hangupsbot [-h] [-d] [--log LOG] [--cookies COOKIES] [--memory MEMORY] [--config CONFIG] [--version]\n\noptional arguments:\n-h, --help         show this help message and exit\n-d, --debug        log detailed debugging messages (default: False)\n--log LOG          log file path (default:\n                   ~/.local/share/hangupsbot/hangupsbot.log)\n--cookies COOKIES  cookie storage path (default:\n                   ~/.local/share/hangupsbot/cookies.json)\n--memory MEMORY    memory storage path (default:\n                   ~/.local/share/hangupsbot/memory.json)\n--config CONFIG    config storage path (default:\n                   ~/.local/share/hangupsbot/config.json)\n--version          show program's version number and exit\n```\n\n# Bot Configuration for Administrators\n\nConfiguration directives can be specified in `config.json`.\n\nPlease note that the `config.json` file supplied with the repository is not \n  supposed to be edited/changed. It is the reference file used by the bot to \n  create the actual configuration file located elsewhere in the system. To find out \n  where the actual file is, please see the [**Additional Configuration** section](https://github.com/hangoutsbot/hangoutsbot/blob/master/INSTALL.md#additional-configuration)\n  in the [installation](https://github.com/hangoutsbot/hangoutsbot/blob/master/INSTALL.md)\n  instructions.\n\nMost configuration directives are specified **globally**\n* Global directives are always specified in the \"root\" of `config.json`.\n* To specify a per-conversation directive, the same configuration option should\n  be defined as `config.conversations[\u003cconversation-id\u003e].\u003cconfiguration option\u003e`.\n* Per-conversation directives override global settings, if both are set.\n* Manually-configured per-conversation directives are DEPRECATED.\n\n## Plugins\n\nThe `plugins` key in `config.json` allows you to optionally specify a list of plugins\n  that will be loaded by the bot on startup. If this option is left as `null`, then\n  all available plugins will be loaded.\n\nTo specify the plugins to be loaded, first ensure that the correct `.py` files are\n  inside your `hangupsbot/plugin/` directory, then modify the `plugins` key in\n  `config.json` to reflect which plugins/files you want to load e.g.\n    `plugins: [\"mentions\", \"default\", \"chance\", \"syncrooms\"]`\n\nSome plugins may require extra configuration.\n  `config.json` is the the configuration provider for the bot and its plugins.\n\nSome interesting plugins:\n* [mentions plugin](https://github.com/hangoutsbot/hangoutsbot/wiki/Mentions-Plugin)\n  * alert users when their names are mentioned in a chat\n* [subscribe plugin](https://github.com/hangoutsbot/hangoutsbot/wiki/Subscribe-Plugin)\n  * alert users when keywords they are subscribed to are said in a chat\n* [syncout / syncrooms plugins](https://github.com/hangoutsbot/hangoutsbot/wiki/Syncouts-Plugin)\n  * relay chat messages between different hangout group conversations (syncrooms)\n  * configure via bot commands (syncrooms_config)\n  * automated translation via Google Translate of relayed messages (syncrooms_autotranslate)\n\nThe wiki has a more comprehensive **[list of plugins](https://github.com/hangoutsbot/hangoutsbot/wiki/Plugin-List)**...\n\n# Interacting with the Bot\n\nThere are two general types of interactions with the bot:\n* **`/bot` commands** begin with `/bot` e.g. `/bot dosomething`\n  * some bot commands are admin-only\n* custom interactions (usage and accessibility varies by plugin)\n\nThe base bot supports some basic command even without any plugins loaded.\n  Here is a partial list:\n\n`/bot help`\n* Bot lists all supported commands in a private message with the user\n\n`/bot ping`\n* Bot replies with a `pong`.\n\n`/bot version`\n* Bot replies with the version number of the framework\n\nA full list of commands supported by the base framework is available at the \n  [**Core Commands**](https://github.com/hangoutsbot/hangoutsbot/wiki/Core-Commands)\n  wiki page.\n\nThe wiki also has a \n  [**list of plugins**](https://github.com/hangoutsbot/hangoutsbot/wiki/Plugin-List)\n  detailing available plugins with commands lists and usage.\n\n# Updating\n\n* Navigate to the bot directory (eg. `cd ~/hangupsbot`)\n* Change to the latest stable branch using `git checkout master`\n* `git pull` to pull the latest version of hangupsbot\n* `pip3 install -r requirements.txt --upgrade`\n* Restart the bot\n\n# Debugging\n\n* Run the bot with the `-d` parameter e.g. `python3 hangupsbot.py -d` - this\n  lowers the log level to `INFO` for a more verbose and informative log file.\n* `tail` the log file, which is probably located at\n  `/\u003cuser\u003e/.local/share/hangupsbot/hangupsbot.log` - the location varies by\n  distro!\n* Console output (STDOUT) is fairly limited whatever the log level, so rely\n  on the output of the log file instead.\n\n## Tips for troubleshooting\n**Program isn't running:**\n* Update `hangupsbot` and `hangups`\n* Run `hangups` to check if the original hangups library is working\n  * If there are errors, delete the cookie at ``~/.local/share/hangupsbot/cookies.json` and try again\n  * Log into your Google Account from the server's address.\n\n**Bot isn't responding to messages:**\n* Check that the chats are not going into the 'Invites' section of Hangouts.\n\n# Extending\n\nPlease see https://github.com/hangoutsbot/hangoutsbot/wiki/Authoring-Bot-Extensions\n\n# Credits / History\n\nHangoutsbot is derived from the [mogunsamang](https://gitlab.sabah.io/eol/mogunsamang) bot,\n  which itself is a fork of xmikos's [hangupsbot](https://github.com/xmikos/hangupsbot)\n\nOn 2015-06-20, this fork was detached and made standalone on GitHub\n\nOn 2015-07-03, the fork was made into a Github Organisation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhangoutsbot%2Fhangoutsbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhangoutsbot%2Fhangoutsbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhangoutsbot%2Fhangoutsbot/lists"}