{ "info": { "author": "Lucas Desgouilles", "author_email": "ldesgoui@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Topic :: Communications :: Chat :: Internet Relay Chat" ], "description": "relay\n=====\n\n\nAn irc micro-framework that smells too much like a web framework.\n\nRelay is a toy project, its goals were for me to try out framework design,\nlearn more about the IRC protocol, and to be a replacement for the available\nirc python libraries: most of them did not please me.\n\n\n\nInstallation\n------------\n\nI suggest you use a virtualenv\n\n.. code-block:: sh\n\n $ pip install relay-framework\n\n\nExample\n-------\n\nThis is an example of a bot that sends whatever is send after '!echo ' in a PRIVMSG:\n\n.. code-block:: python\n\n from relay import Relay, auto_join, auto_pong\n from relay.constants import privmsg\n\n bot = Relay(\"echobot\")\n\n @bot.handler(privmsg)\n def echo(target, message, sender, *args, **kwargs):\n if not message.startswith(\"!echo \"):\n return\n sender_nick = sender.split('@')[0].split('!')[0] # We just want the nick\n message = message[6:] # We just want whatever is after '!echo '\n if target == bot.client['nick']:\n result = \"PRIVMSG {sender_nick} :{sender_nick}: {message}\"\n else:\n result = \"PRIVMSG {{target}} :{sender_nick}: {message}\"\n yield result.format(sender_nick=sender_nick, message=message)\n\n if __name__ == \"__main__\":\n bot.register(auto_pong)\n bot.register(auto_join(['#tests']))\n bot.config(from_env=True).run()\n\n\nAnd to run it:\n\n.. code-block:: sh\n\n $ RELAY_HOST=irc.example.net RELAY_NICK=echobot python echobot.py\n\n\nChangelog\n---------\n\n:0.1.0:\n Initial version, client accepts handlers, connects and matches data with those.\n\n\nTodo\n----\n\n- Write a decent IRC client implementation\n- Write tests for the Relay class\n- Write documentation\n- Subclass Relay to allow regexp routes", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ldesgoui/relay", "keywords": "irc internet relay chat framework", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "relay-framework", "package_url": "https://pypi.org/project/relay-framework/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/relay-framework/", "project_urls": { "Homepage": "https://github.com/ldesgoui/relay" }, "release_url": "https://pypi.org/project/relay-framework/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Relay is an irc micro-framework that smells too much like a web framework", "version": "0.2.0" }, "last_serial": 1590892, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "b92628cda65721501cd948a40d5bd5ac", "sha256": "78f8c8a600ee5e4268f20d36c25c05d7573e2e82f6bee309d9c8a1c08bae7aec" }, "downloads": -1, "filename": "relay-framework-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b92628cda65721501cd948a40d5bd5ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4186, "upload_time": "2015-06-08T14:40:21", "url": "https://files.pythonhosted.org/packages/00/9c/ed5e5605cfb931bcb5f3aa9b95acb5cdbefef4c98267654fc2e0d0b73af4/relay-framework-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "94a4c1632d4c9d73ba073436f28ac5f6", "sha256": "0d6ee791616fe2f38721387b594e68b54acc3ab8ef6df7950a09521bc33ae659" }, "downloads": -1, "filename": "relay-framework-0.1.1.tar.gz", "has_sig": false, "md5_digest": "94a4c1632d4c9d73ba073436f28ac5f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4179, "upload_time": "2015-06-08T14:53:51", "url": "https://files.pythonhosted.org/packages/dd/e3/b794a0a61609d59c23eae16b4b7a6f08052b6e7beb6bd45e704221f0d5cc/relay-framework-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c608e0f8ec32edeffd62e8e6995f011e", "sha256": "9e6a9ce04c6f210134530793a89055716a905f8a4fd17794457edeab172f9a83" }, "downloads": -1, "filename": "relay-framework-0.2.0.tar.gz", "has_sig": false, "md5_digest": "c608e0f8ec32edeffd62e8e6995f011e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5314, "upload_time": "2015-06-13T17:02:19", "url": "https://files.pythonhosted.org/packages/ed/92/868a960594aca70ae2a3ddfc4c68bae21b5cc784969d1e8a4e29c231942e/relay-framework-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c608e0f8ec32edeffd62e8e6995f011e", "sha256": "9e6a9ce04c6f210134530793a89055716a905f8a4fd17794457edeab172f9a83" }, "downloads": -1, "filename": "relay-framework-0.2.0.tar.gz", "has_sig": false, "md5_digest": "c608e0f8ec32edeffd62e8e6995f011e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5314, "upload_time": "2015-06-13T17:02:19", "url": "https://files.pythonhosted.org/packages/ed/92/868a960594aca70ae2a3ddfc4c68bae21b5cc784969d1e8a4e29c231942e/relay-framework-0.2.0.tar.gz" } ] }