{ "info": { "author": "David Moreau-Simard", "author_email": "me@dmsimard.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "teamchat\n========\n\n.. image:: docs/source/_static/team_chat.png\n\n`XKCD `_\n\nteamchat breaks the barriers between communities and instant messaging platforms.\n\nteamchat replays messages from two different communication systems to each other\nin order to allow everyone to talk to each other regardless of their chat platform\npreferences.\n\nThe project is meant to be a spiritual successor to `slack-irc `_\nwhich stopped working when `Slack discontinued the IRC gateway `_.\n\nTL;DR\n=====\n\nIn a nutshell, teamchat leverages `Errbot `_, a python\nchatbot framework. It launches two bots, one for each desired backend.\n\nThese bots will relay messages they see in their channel to each other over a\nlocalhost webhook implementation that Errbot provides out of the box.\n\nThat's it, really.\n\nSupported backends\n==================\n\nErrbot supports many different `backends `_\nout of the box:\n\n- XMPP (Any standards-compliant XMPP/Jabber server should work - Google Talk/Hangouts included)\n- Hipchat\n- IRC\n- Slack\n- Telegram\n\nMany other backends are available through community support such as Discord,\nMattermost and Skype.\n\nInstalling teamchat\n===================\n\nAnywhere with python >= 3.6 available::\n\n pip install teamchat\n\nConfiguring teamchat\n====================\n\nteamchat launches two chat bots, one in each of the configured and requested\nbackends.\nIt joins the desired channels and then forwards messages from one channel to the\nother in both directions.\n\nEach of your communication backend must be configured in a different\n`Errbot settings file `_.\n\nYou can get started from the Errbot configuration template by running\n``teamchat template`` which will generate a template for you at\n``~/.teamchat/backends/template.py``.\n\nWhen running the ``teamchat connect`` command to create the bridge, these\nbackend file names will be used. For example:\n\n- The backend named ``slack_community`` would be expected at ``~/.teamchat/backends/slack_community.py``\n- The backend named ``irc_community`` would be expected at ``~/.teamchat/backends/irc_community.py``.\n\nYour server, credentials, nicknames, tokens and other fine tuning will need to\nbe set up through those files according to the Errbot backend\n`configuration documentation `_.\n\nPlease note that your backend settings file needs to contain a few extra lines\nmeant for teamchat::\n\n import teamchat\n\n # The following configuration is required for teamchat\n ROOT = os.path.expanduser(\"~/.teamchat\")\n BOT_DATA_DIR = os.path.join(ROOT, \"irc\")\n BOT_LOG_FILE = os.path.join(ROOT, \"bot.log\")\n BOT_EXTRA_PLUGIN_DIR = os.path.join(os.path.dirname(teamchat.__file__), \"errbot\")\n\n for directory in [ROOT, BOT_DATA_DIR]:\n if not os.path.isdir(directory):\n os.makedirs(directory, mode=0o700, exist_ok=True)\n\nFor examples of backend configuration files, look at the ``contrib`` directory\nof the project on `GitHub `_.\n\nUsing teamchat\n==============\n\nGetting started with teamchat once you have your configuration set up looks like this::\n\n teamchat connect irc_community \\ # From IRC\n --bridge slack_community \\ # To Slack\n --channel \"#dev\" \\ # From #dev on the server configured in ~/.teamchat/backends/irc_community.py\n --to \"#general\" # To #general on the server configured in ~/.teamchat/backends/slack_community.py\n\nThe order of the arguments as well as the from/to destinations does not matter.\nThe messages will always be replayed from one backend to the other in both directions.\n\nFor example, the following command would yield the exact same results as the one above::\n\n teamchat connect slack_community \\ # From Slack\n --bridge irc_community \\ # To IRC\n --channel \"#general\" \\ # From #general on the server configured in ~/.teamchat/backends/slack_community.py\n --to \"#dev\" # To #dev on the server configured in ~/.teamchat/backends/irc_community.py\n\nKnown issues\n============\n\n- Naming your backend file ``~/.teamchat/backends/irc.py`` does not work because it conflicts with the ``irc`` python module.\n\nContributors\n============\n\nSee contributors on GitHub_.\n\n.. _GitHub: https://github.com/dmsimard/teamchat/graphs/contributors\n\nCopyright\n=========\n\n Copyright 2018 Red Hat, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dmsimard/teamchat", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "teamchat", "package_url": "https://pypi.org/project/teamchat/", "platform": "", "project_url": "https://pypi.org/project/teamchat/", "project_urls": { "Homepage": "https://github.com/dmsimard/teamchat" }, "release_url": "https://pypi.org/project/teamchat/0.1.0/", "requires_dist": null, "requires_python": ">=3.6", "summary": "teamchat breaks the barriers between communities and instant messaging platforms", "version": "0.1.0" }, "last_serial": 4461705, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7daec58a02d8265e65a0ccf384774324", "sha256": "5551e0f7526f9c47998ccde58c6ed2356568d40b090f9ecba773068efe4f5789" }, "downloads": -1, "filename": "teamchat-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7daec58a02d8265e65a0ccf384774324", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 55532, "upload_time": "2018-11-07T14:34:49", "url": "https://files.pythonhosted.org/packages/25/18/59abb04a3b093e84c151e94736384459c8b3a21443b1c5e6ace29f355ab6/teamchat-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7daec58a02d8265e65a0ccf384774324", "sha256": "5551e0f7526f9c47998ccde58c6ed2356568d40b090f9ecba773068efe4f5789" }, "downloads": -1, "filename": "teamchat-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7daec58a02d8265e65a0ccf384774324", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 55532, "upload_time": "2018-11-07T14:34:49", "url": "https://files.pythonhosted.org/packages/25/18/59abb04a3b093e84c151e94736384459c8b3a21443b1c5e6ace29f355ab6/teamchat-0.1.0.tar.gz" } ] }