{ "info": { "author": "sharkbound", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# if you have any questions concerning the bot, you can contact me in my discord server: https://discord.gg/PXrKVHp\n\nif you would like to send a few dollars my way you can do so here: [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9ZVUE7CR24738)\n\nthis bot is also on PYPI: https://pypi.org/project/PythonTwitchBotFramework/\n\ninstall from pip: `pip install PythonTwitchBotFramework`\n\n# PythonTwitchBotFramework\nworking twitchbot framework made in python 3.6+\n\n# Quick Links\n* [Quick Start](#quick-start)\n* [Overriding Events](#overriding-events)\n* [Adding Commands](#adding-commands)\n* [SubCommands](#subcommands)\n* [DummyCommands](#dummycommands)\n* [Permissions](#permissions)\n * [Using Chat Commands](#managing-permissions-using-chat-commands)\n * [Editing The Config](#managing-permission-by-editing-the-configs)\n* [Reloading Permissions](#reloading-permissions)\n* [Command Server](#command-server)\n* [Command Console](#command-console)\n* [Mysql Support](#mysql-support)\n\n# basic info\nThis is a fully async twitch bot framework complete with:\n\n* builtin command system using decorators\n* overridable events (message received, whisper received, ect)\n* full permission system that is individual for each channel\n* message timers \n* quotes \n* custom commands\n* builtin economy \n\nthere is also mod system builtin to the bot, there is a collection of pre-made mods here: [MODS](https://github.com/sharkbound/twitch_bot_mods)\n\n# Quick Start\nfor a reference for builtin command look at the wiki [HERE](https://github.com/sharkbound/PythonTwitchBotFramework/wiki/Builtin_Command_Reference)\n\nthe minimum code to get the bot running is this:\n```python\nfrom twitchbot.bots import BaseBot\n\nif __name__ == '__main__':\n BaseBot().run()\n```\n\nthis will start the bot. \n\nif you have a folder with your own custom commands you can load\nthe .py files in it with:\n```python\nfrom twitchbot import BaseBot, load_commands_from_directory\n\nif __name__ == '__main__':\n load_commands_from_directory('PATH/TO/DIRECTORY')\n BaseBot().run()\n```\n\n# Overriding Events\n\nthe bots events are overridable via the following 2 ways:\n\n1) using decorators:\n\n```python\nfrom twitchbot import event_handler, Event, Message\n\n@event_handler(Event.on_privmsg_received)\nasync def on_privmsg_received(msg: Message):\n print(f'{msg.author} sent message {msg.content} to channel {msg.channel_name}')\n```\n\n2) subclassing BaseBot\n```python\nfrom twitchbot import BaseBot, Message\nclass MyCustomTwitchBot(BaseBot):\n async def on_privmsg_received(self, msg: Message):\n print(f'{msg.author} sent message {msg.content} to channel {msg.channel_name}')\n```\nthen you would use MyCustomTwitchBot instead of BaseBot:\n```python\nMyCustomTwitchBot().run()\n```\n\n* all overridable events are:\n```python\nfrom twitchbot import Event\n\nEvent.on_connected : (self)\nEvent.on_permission_check : (self, msg: Message, cmd: Command) -> bool # return False to deny permission to execute the cmd\nEvent.on_after_command_execute : (self, msg: Message, cmd: Command)\nEvent.on_before_command_execute : (self, msg: Message, cmd: Command) -> bool # return False to cancel command\nEvent.on_bits_donated : (self, msg: Message, bits: int)\nEvent.on_channel_raided : (self, channel: Channel, raider: str, viewer_count: int)\nEvent.on_channel_joined : (self, channel: Channel)\nEvent.on_channel_subscription : (self, subscriber: str, channel: Channel, msg: Message)\nEvent.on_privmsg_received : (self, msg: Message)\nEvent.on_privmsg_sent : (self, msg: str, channel: str, sender: str)\nEvent.on_whisper_received : (self, msg: Message)\nEvent.on_whisper_sent : (self, msg: str, receiver: str, sender: str)\nEvent.on_raw_message : (self, msg: Message)\nEvent.on_user_join : (self, user: str, channel: Channel)\nEvent.on_user_part : (self, user: str, channel: Channel)\nEvent.on_mod_reloaded : (self, mod: Mod) \n```\n#### when using the decorator event override way, `self` is not included, ex: `(self, msg: Message)` becomes: `(msg: Message)` \n\nif this is the first time running the bot it will generate a folder\nnamed `configs`. \n\ninside is `config.json` which you put the authentication into\n\nas the bot is used it will also generate channel permission files \nin the `configs` folder\n\n# Adding Commands\n\nto register your own commands use the Command decorator:\n\n* using decorators\n```python\nfrom twitchbot import Command\n\n@Command('COMMAND_NAME')\nasync def cmd_function(msg, *args):\n await msg.reply('i was called!')\n```\n* you can also limit the commands to be whisper or channel chat only \n(default is channel chat only)\n```python\nfrom twitchbot import Command, CommandContext\n\n# other options are CommandContext.BOTH and CommandContext.WHISPER\n@Command('COMMAND_NAME', context=CommandContext.CHANNEL) # this is the default command context\nasync def cmd_function(msg, *args):\n await msg.reply('i was called!')\n```\n* you can also specify if a permission is required to be able to call\nthe command (if no permission is specified anyone can call the command):\n\n```python\nfrom twitchbot import Command\n\n@Command('COMMAND_NAME', permission='PERMISSION_NAME')\nasync def cmd_function(msg, *args):\n await msg.reply('i was called!')\n```\n\n* you can also specify a help/syntax for the command for the help chat command to give into on it:\n```python\nfrom twitchbot import Command, Message\n\n@Command('COMMAND_NAME', help='this command does a very important thing!', syntax='')\nasync def cmd_function(msg: Message, *args):\n await msg.reply('i was called!')\n```\nso when you do `!help COMMAND_NAME`\n\nit will this in chat:\n```\nhelp for \"!command_name\", \nsyntax: \"\", \nhelp: \"this command does a very important thing!\"\n```\n\n* you can add aliases for a command (other command names that refer to the same command):\n```python\nfrom twitchbot import Command, Message\n\n@Command('COMMAND_NAME', \n help='this command does a very important thing!', \n syntax='', \n aliases=['COMMAND_NAME_2', 'COMMAND_NAME_3'])\nasync def cmd_function(msg: Message, *args):\n await msg.reply('i was called!')\n```\n\n`COMMAND_NAME_2` and `COMMAND_NAME_2` both refer to `COMMAND_NAME` and all three execute the same command\n\n# SubCommands\n\nthe SubCommand class makes it easier to implement different actions based on a parameters passed to a command.\n\nits the same as normal command except thats its not a global command\n\nexample: `!say` could be its own command, then it could have the sub-commands `!say myname` or `!say motd`.\n\nyou can implements this using something like this:\n\n```python\nfrom twitchbot import Command\n\n@Command('say')\nasync def cmd_say(msg, *args):\n # args is empty\n if not args:\n await msg.reply(\"you didn't give me any arguments :(\")\n return \n\n arg = args[0].lower()\n if arg == 'myname':\n await msg.reply(f'hello {msg.mention}!')\n\n elif arg == 'motd':\n await msg.reply('the message of the day is: python is awesome')\n\n else: \n await msg.reply(' '.join(args))\n\n\n```\n\nthat works, but i would be done in a nicer way using the `SubCommand` class:\n\n```python\nfrom twitchbot import Command, SubCommand\n\n@Command('say')\nasync def cmd_say(msg, *args):\n await msg.reply(' '.join(args))\n\n# we pass the parent command as the first parameter \n@SubCommand(cmd_say, 'myname')\nasync def cmd_say_myname(msg, *args):\n await msg.reply(f'hello {msg.mention}!')\n\n\n@SubCommand(cmd_say, 'motd')\nasync def cmd_say_motd(msg, *args):\n await msg.reply('the message of the day is: python is awesome')\n```\n\nboth ways do the same thing, what you proffer to use is up to you, but it does make it easier to manage for larger commands to use SubCommand class\n\n# DummyCommands\nthis class is basically a command that does nothing when executed, its mainly use is to be used as base command for sub-command-only commands\n\nit has all the same options as a regular Command\n\nwhen a dummy command is executed it looks for sub-commands with a matching name as the first argument passed to it\n\nif no command is found then it will say in chat the available sub-commands\n\nbut if a command is found it executes that command\n\n\nsay you want a command to greet someone, but you always want to pass the language, you can do this:\n\n```python\nfrom twitchbot import DummyCommand, SubCommand\n\n# cmd_greet does nothing itself when called\ncmd_greet = DummyCommand('greet')\n\n@SubCommand(cmd_greet, 'english')\nasync def cmd_greet_english(msg, *args):\n await msg.reply(f'hello {msg.mention}!')\n\n@SubCommand(cmd_greet, 'spanish')\nasync def cmd_greet_spanish(msg, *args):\n await msg.reply(f'hola {msg.mention}!')\n```\n\ndoing just `!greet` will make the bot say: \n```text\ncommand options: {english, spanish}\n```\n\ndoing `!greet english` will make the bot say this:\n```text\nhello @johndoe!\n```\n\ndoing `!greet spanish` will make the bot say this:\n```text\nhola @johndoe!\n```\n\n# Config\n\nthe default config values are:\n```json\n{\n \"oauth\": \"oauth:\",\n \"client_id\": \"CLIENT_ID\",\n \"nick\": \"nick\",\n \"prefix\": \"!\",\n \"default_balance\": 200,\n \"owner\": \"BOT_OWNER_NAME\",\n \"channels\": [\n \"channel\"\n ],\n \"loyalty_interval\": 60,\n \"loyalty_amount\": 2,\n \"command_server_enabled\": true,\n \"command_server_port\": 1337,\n \"command_server_host\": \"localhost\"\n}\n\n```\n\n`oauth` is the twitch oauth used to login \n\n`client_id` is the client_id used to get info like channel title, ect ( this is not required but twitch API info will not be available without it )\n\n`nick` is the twitch accounts nickname\n\n`prefix` is the command prefix the bot will use for commands that \ndont use custom prefixes\n\n`default_balance `is the default balance for new users that dont\nalready have a economy balance\n\n`owner` is the bot's owner\n\n`channels` in the twitch channels the bot will join\n\n`loyalty_interval` the interval for which the viewers will given currency for watching the stream, gives amount specified by `loyalty_amount`\n\n`loyalty_amount` the amount of currency to give viewers every `loyalty_interval`\n\n`command_server_enabled` specifies if the command server should be enabled (see [Command Server](#command-server) for more info)\n\n`command_server_port` the port for the command server\n\n`command_server_host` the host name (address) for the command server\n\n# Permissions\n\nthe bot comes default with permission support\n\nthere are two ways to manage permissions,\n\n1. using chat commands \n2. editing JSON permission files\n\n## managing permissions using chat commands\nto add a permission group: `!addgroup `, ex: `!addgroup donators`\n\nto add a member to a group: `!addmember `, ex: \n`!addmember donators johndoe`\n\nto add a permission to a group: `!addperm `, ex: \n`!addperm donators slap`\n\nto remove a group: `!delgroup `, ex: `!delgroup donators`\n\nto remove a member from a group: `!delmember `, ex: \n`!delmember donators johndoe`\n\nto remove a permission from a group: `!delperm `, ex:\n`!delperm donators slap`\n\n## managing permission by editing the configs\n\nfind the `configs` folder the bot generated (will be in same directory as the \nscript that run the bot)\n\ninside you will find `config.json` with the bot config values required for \nauthentication with twitch and such\n\nif the bot has joined any channels then you will see file names\nthat look like `CHANNELNAME_perms.json`\n\nfor this example i will use a `johndoe`\n\nso if you open `johndoe_perms.json` you will see this if you \nhave not changed anything in it:\n\n```json\n{\n \"admin\": {\n \"name\": \"admin\",\n \"permissions\": [\n \"*\"\n ],\n \"members\": [\n \"johndoe\"\n ]\n }\n}\n```\n\n`name` is the name of the permission group\n\n`permissions` is the list of permissions the group has\n(\"*\" is the \"god\" permission, granting access to all bot commands)\n\n`members` is the members of the group\n\nto add more permission groups by editing the config \nyou can just copy/paste the default one \n(be sure to remove the \"god\" permission if you dont them \nhaving access to all bot commands)\n\nso after copy/pasting the default group it will look like this\n (dont forget to separate the groups using `,`):\n\n\n```json\n{\n \"admin\": {\n \"name\": \"admin\",\n \"permissions\": [\n \"*\"\n ],\n \"members\": [\n \"johndoe\"\n ]\n },\n \"donator\": {\n \"name\": \"donator\",\n \"permissions\": [\n \"slap\"\n ],\n \"members\": [\n \"johndoe\"\n ]\n }\n}\n```\n\n# Reloading Permissions\n\nif the bot is running be sure to do `!reloadperms` to load\nthe changes to the permission file\n\n# Command Server\nThe command server is a small Socket Server the bot host that lets the Command Console be able to make the bot send messages given to it through a console. (see [Command Console](#command-console))\n\nThe server can be enabled or disabled through the config (see [Config](#config)), the server's port and host are specified by the config file\n\n\n# Command Console\nIf the [Command Server](#command-server) is disabled in the [config](#config) the Command Console cannot be used\n\nThe Command Console is used to make the bot send chat messages and commands\n\nTo launch the Command Console make sure the bot is running, and the [Command Server](#command-server) is enabled in the [Config](#config), \n\nafter verifying these are done, simply do `python command_console.py` to open the console, upon opening it you will be prompted to select a twitch channel that the bot is currently connected to.\n\nafter choose the channel the prompt changes to `(CHANNEL_HERE):` and you are now able to send chat messages / commands to the choosen channel by typing your message and pressing enter\n\n\n# Mysql Support\nto enabled mysql\n\n* open `configs/mysql.json` (if its missing run the bot and close it, this should generate `mysql.json`)\n* set `enabled` to `true`\n* fill in `address`, `username`, `password`, and `database`\n* install the mysql library (if needed) `pip install --upgrade --user mysql-connector-python`\n* rerun the bot\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sharkbound/PythonTwitchBotFramework", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "PythonTwitchBotFramework", "package_url": "https://pypi.org/project/PythonTwitchBotFramework/", "platform": "", "project_url": "https://pypi.org/project/PythonTwitchBotFramework/", "project_urls": { "Homepage": "https://github.com/sharkbound/PythonTwitchBotFramework" }, "release_url": "https://pypi.org/project/PythonTwitchBotFramework/1.5.15/", "requires_dist": [ "aiohttp", "dataclasses", "sqlalchemy" ], "requires_python": "", "summary": "asynchronous twitch-bot framework made in pure python", "version": "1.5.15" }, "last_serial": 5973454, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "8776abe094676f61f5b2c653a7da94e6", "sha256": "b632da3644934a7bc023bd2d0e557578d6915c78a3b5bf82387b3eb1ee589cce" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8776abe094676f61f5b2c653a7da94e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40119, "upload_time": "2019-03-31T02:38:24", "url": "https://files.pythonhosted.org/packages/38/38/482a844621b9fe3d7c9bd83dd3c43b9ef0736161be7d0a9d35e2692ac7f6/PythonTwitchBotFramework-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed701058cde8d5a4efb54a3561330acf", "sha256": "77120cdb7d9f38aa86b6aaa6b82c8a932cdc25d5f3e204bc8d56207f50d8e9b7" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.1.tar.gz", "has_sig": false, "md5_digest": "ed701058cde8d5a4efb54a3561330acf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27691, "upload_time": "2019-03-31T02:38:26", "url": "https://files.pythonhosted.org/packages/7e/23/4da5196582c3f432e844d1e43b7a8f6f17ca3b82de914707c3dfe22d78af/PythonTwitchBotFramework-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "629896ace045a778c23ed5c0078c9754", "sha256": "a49d1447fb9192912cab658e819d591f6f1cfdf34cf6bcc5d73e6ebded11164d" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "629896ace045a778c23ed5c0078c9754", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40706, "upload_time": "2019-04-09T19:43:49", "url": "https://files.pythonhosted.org/packages/cd/40/8e57681f04c6f4a648cc60bfa87ca29052b72bd92d027014825967be6084/PythonTwitchBotFramework-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2395706a35b398de23269de006b482ac", "sha256": "bf2cf245e6f356afdf7a71611e6fc0f02200cd81ea665a82a7a50f0c842f3783" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.2.tar.gz", "has_sig": false, "md5_digest": "2395706a35b398de23269de006b482ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28279, "upload_time": "2019-04-09T19:43:51", "url": "https://files.pythonhosted.org/packages/01/40/a5dc68d7caf382efa2a6a7bc59df100744c91a0a890a3582f38483c15f36/PythonTwitchBotFramework-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "c937fae9110274b50f2da85d8806a084", "sha256": "a92b18a1c0198fea403d897683133ab9d59098921be448502bade57ceaa824a6" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c937fae9110274b50f2da85d8806a084", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40981, "upload_time": "2019-04-23T21:18:13", "url": "https://files.pythonhosted.org/packages/38/6a/ff8cc41c8f0ee0c8f8f68ec537579b4dd38059698f643349875fd487fa23/PythonTwitchBotFramework-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "519b39f5faecf31189e480cb78608336", "sha256": "6c34b60e94625e89880327706d0fc74b39638847c4b513ec770e681250d262b3" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.3.tar.gz", "has_sig": false, "md5_digest": "519b39f5faecf31189e480cb78608336", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28569, "upload_time": "2019-04-23T21:18:15", "url": "https://files.pythonhosted.org/packages/cd/b3/9121dc47ba19d3c260479c090e3336b96247477356141f2e5966185d97f9/PythonTwitchBotFramework-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "10af513c8fea55281d6cf9d81bb6bd3b", "sha256": "46f9863adbc7eae2adf31702df429a30d40e75517653dfedf2901bbbec7d716f" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "10af513c8fea55281d6cf9d81bb6bd3b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43152, "upload_time": "2019-05-27T04:47:28", "url": "https://files.pythonhosted.org/packages/8d/eb/53d29502a98f5ef8e0a2c14bebd834f645711ca68665174a72a39b8c2d2a/PythonTwitchBotFramework-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e27b0d140a2545906de540030cc59afd", "sha256": "be708a9ce86e8fad7e1613ece1ba7efc2d2b227d64dc3ac5988b67dd3f696488" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.4.tar.gz", "has_sig": false, "md5_digest": "e27b0d140a2545906de540030cc59afd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30139, "upload_time": "2019-05-27T04:47:29", "url": "https://files.pythonhosted.org/packages/41/9b/206ee2611d48c3ae6c48b5ca234cbffee1434eecc607810b64ed42d1ee52/PythonTwitchBotFramework-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "f2e4429b8e9608d854cf522f334a0bff", "sha256": "77c62b2e934687eb4983ee303e0911ec8432ec43a6978d60b9c39a97fce2c1a4" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f2e4429b8e9608d854cf522f334a0bff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 43888, "upload_time": "2019-05-28T04:18:00", "url": "https://files.pythonhosted.org/packages/0f/6c/97154a5da3765f8bac6549fa0d0d846ae943f08d149846cda985049071c4/PythonTwitchBotFramework-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "418bc7a03b2a1345190f0a63daabd6ca", "sha256": "50defe6ed2394a1097261d8a9ae50caf08f5b053995cb7ec95deeb2c83aba94f" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.5.tar.gz", "has_sig": false, "md5_digest": "418bc7a03b2a1345190f0a63daabd6ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30694, "upload_time": "2019-05-28T04:18:02", "url": "https://files.pythonhosted.org/packages/23/13/95df13e865ca129b7502eef5c4098fb12743486be0fb1c425b492b2516a8/PythonTwitchBotFramework-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "b9ad3e1fa6166e315f129f80b52e0453", "sha256": "a5f9bbac1a29904f6db43a88486ac2c29288392f3bf40df299aeb2415f540db3" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b9ad3e1fa6166e315f129f80b52e0453", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 57585, "upload_time": "2019-05-29T22:36:27", "url": "https://files.pythonhosted.org/packages/05/30/cbaa70366072ecbc3f4482c9680bd1c235363c3872c4e99f4e69d1faa89a/PythonTwitchBotFramework-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d1d9d04d867477c2375253765385bb2", "sha256": "21892a21153cbbf080d664a5f6e994fdcd82e4c321539b8af3536c69ffa651c7" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.6.tar.gz", "has_sig": false, "md5_digest": "2d1d9d04d867477c2375253765385bb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38710, "upload_time": "2019-05-29T22:36:29", "url": "https://files.pythonhosted.org/packages/d7/ee/e2e201f7edb840eb9622b57c3f7ad91159e105c3cee3eea49405f58a36d2/PythonTwitchBotFramework-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "216c621c666da90bfddfe4535e89dcd4", "sha256": "b0e683fff200f63742e73541d03072f3314f7424a24ff3d358fdde79dd9bed8f" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "216c621c666da90bfddfe4535e89dcd4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 58848, "upload_time": "2019-05-30T04:09:35", "url": "https://files.pythonhosted.org/packages/d5/42/c4847edbdaf0fb76e5acb8693fc755cce92cce6e314ec0efb9b99bab077c/PythonTwitchBotFramework-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "452bb68ca8e867b23360c88bb94faab2", "sha256": "8d341a584e1af7b2da89986a249350a4529238498897b9eca56e660543adbc3b" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.7.tar.gz", "has_sig": false, "md5_digest": "452bb68ca8e867b23360c88bb94faab2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39528, "upload_time": "2019-05-30T04:09:37", "url": "https://files.pythonhosted.org/packages/45/08/d0ba130ef7e038bab8878a10d363d4ed478f30b07205c58d5dbf0d617938/PythonTwitchBotFramework-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "bbdbef3e8c76b256711f05d7aed04e29", "sha256": "2a62a6ebe6933f6210d9fe47e848c52ba0b06339025a91b01957f52be182b922" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "bbdbef3e8c76b256711f05d7aed04e29", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 59459, "upload_time": "2019-06-01T00:12:05", "url": "https://files.pythonhosted.org/packages/2e/a6/6b8572d7e480c00bf6cfd92a74a56e3b834c36472ef22625a1aeeae57d5e/PythonTwitchBotFramework-1.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1556f93c6678451d9137461c45171717", "sha256": "b625293c9d16ea46217c8322791851686e6b0abf7ffee039ea0b737fe63f9a2f" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.8.tar.gz", "has_sig": false, "md5_digest": "1556f93c6678451d9137461c45171717", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40157, "upload_time": "2019-06-01T00:12:07", "url": "https://files.pythonhosted.org/packages/18/89/54e5e1bfd5999d63edfa939aabd7ff173b8ed76ec13a9a67cbb9523d4c34/PythonTwitchBotFramework-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "50f5c2d11b603cd7e621f4236ed70249", "sha256": "8d695c7832b893f85ba18381da4959c12a85edbe1e735c74125c561ed1015ccd" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "50f5c2d11b603cd7e621f4236ed70249", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60111, "upload_time": "2019-06-24T23:00:01", "url": "https://files.pythonhosted.org/packages/8a/cc/e45a13ca5c8f8fcebedca527f634d6021c0ffc1cfebce49bdded7b2fd47b/PythonTwitchBotFramework-1.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca4725c841ac98b6d9217b2cb59fa10a", "sha256": "115605cbd753bad94f7e63121a017386dac4abbec79882eb4ac0579ca56d6a88" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.0.9.tar.gz", "has_sig": false, "md5_digest": "ca4725c841ac98b6d9217b2cb59fa10a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40913, "upload_time": "2019-06-24T23:00:03", "url": "https://files.pythonhosted.org/packages/a6/1c/482425316396a709312298f5adaef10d7beb7f625227818923ea8371c8da/PythonTwitchBotFramework-1.0.9.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "621d833ba11e016ba328f1454fda8908", "sha256": "a059ea528df39fe65e3ce3c9c21fde1674bf4bf26fa16602f130cf11c7436892" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "621d833ba11e016ba328f1454fda8908", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60109, "upload_time": "2019-06-24T23:03:28", "url": "https://files.pythonhosted.org/packages/c0/4e/1154b23d990e00edaa878aa7f309988300055bf2fdc74116641862586f67/PythonTwitchBotFramework-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9253b1fb9266eabc94d02b1b0b14a4ca", "sha256": "ffab7d6ee751573d815084f49f20278bb8a67e843c772d01ce459ec748c4a3f9" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.1.0.tar.gz", "has_sig": false, "md5_digest": "9253b1fb9266eabc94d02b1b0b14a4ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40922, "upload_time": "2019-06-24T23:03:30", "url": "https://files.pythonhosted.org/packages/f6/2b/bfa2463107b940def9fec990c63fc34f435f1c2774ad2e217665a17ae8a7/PythonTwitchBotFramework-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "51826900f67804d98f3081766a90def1", "sha256": "735e02d706ec2e039bc59a230c68bfe1b6f139407fcdd10e3ad9beee3a303b2c" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "51826900f67804d98f3081766a90def1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60179, "upload_time": "2019-06-26T01:31:30", "url": "https://files.pythonhosted.org/packages/85/93/49e56359a79e0f3c589afec808612d8a6fcca0304e77b4384bc1f5eefde6/PythonTwitchBotFramework-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ff48af8e48af30ccbbe5713ab43ed6bf", "sha256": "7d11570e5c40290a881c2a04f6d9642b00587fa3c7b8801215db273c725ab43d" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.1.1.tar.gz", "has_sig": false, "md5_digest": "ff48af8e48af30ccbbe5713ab43ed6bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40980, "upload_time": "2019-06-26T01:31:32", "url": "https://files.pythonhosted.org/packages/25/19/da76341045b85c95490e2a77efb7fbd6cbf8e06cad1fdbc6d0a6042829f0/PythonTwitchBotFramework-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "4ca9b1d95a9537ba006235d6e4c854e7", "sha256": "1eff2e40298b2bba20715c96bad3118ee6180eec258d8cb9bb6668ce5a0b9d40" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "4ca9b1d95a9537ba006235d6e4c854e7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60771, "upload_time": "2019-07-03T18:45:15", "url": "https://files.pythonhosted.org/packages/a3/63/f64adf4683fe62ef86d089f64e5f9d8ec7ac0e4f9eb92dc5df39b1e87a8b/PythonTwitchBotFramework-1.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "49dc5c7abfe0c39cb8f54a1fe3fb0079", "sha256": "f267131b3bb242e023e0e081e978451f926e1f3bb78b4c09fd90a1d1131d2746" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.1.2.tar.gz", "has_sig": false, "md5_digest": "49dc5c7abfe0c39cb8f54a1fe3fb0079", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41548, "upload_time": "2019-07-03T18:45:17", "url": "https://files.pythonhosted.org/packages/54/1f/f9dea0a0a9661282584b4766aa4028568e85ad4b6c05ecdfb6f421a76397/PythonTwitchBotFramework-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "21038ffe75ec2176012ee1aa66ade10d", "sha256": "b1f4894c2bc2a72d294391a61fc7481a3ea77dce70063bcb8da1e169d76ff459" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "21038ffe75ec2176012ee1aa66ade10d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 60782, "upload_time": "2019-07-03T20:39:19", "url": "https://files.pythonhosted.org/packages/76/bd/04b4613219867994e07797e8eb79667f9c610f5bc4dbbecaa54540244ccc/PythonTwitchBotFramework-1.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7d4f549d02248e76d8b27a61e621f708", "sha256": "e1f49e7206076c88983abe5eb955742b063f715cd6f7c481355c07937f956cac" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.1.3.tar.gz", "has_sig": false, "md5_digest": "7d4f549d02248e76d8b27a61e621f708", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41550, "upload_time": "2019-07-03T20:39:21", "url": "https://files.pythonhosted.org/packages/44/20/722e004a6b2d4e44020bd02e5cc3447c6ebb58849de09330d24dbc9ac2f5/PythonTwitchBotFramework-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "6564a5f58c751634375a9fa8a81ca6f6", "sha256": "8b1ddd99540d9c383ac80eafa18994f28ea509b8408220ceee346ecc3e4a4901" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "6564a5f58c751634375a9fa8a81ca6f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 61031, "upload_time": "2019-07-04T02:01:36", "url": "https://files.pythonhosted.org/packages/e6/c6/c380636e970f36b47387324d3150d96b1416d58d9663a9a59a1472f413d9/PythonTwitchBotFramework-1.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82e9b04e09ea09c3e8a0859a69dc3580", "sha256": "03b1141937a8642a496a6c161cef155c0166f97b17c4240656aecd8a387b63e5" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.1.4.tar.gz", "has_sig": false, "md5_digest": "82e9b04e09ea09c3e8a0859a69dc3580", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41786, "upload_time": "2019-07-04T02:01:38", "url": "https://files.pythonhosted.org/packages/88/e3/0496dc043c85228468aed9c06f007c177bce4dcb78b9d82e10f6130ded3a/PythonTwitchBotFramework-1.1.4.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "e541dc68cd85eb7512cce0021bcb12af", "sha256": "fdc4fc6cdd0228e9a5df1eaa09abb208da2de6c7a6a5063a78d6859e744fb772" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e541dc68cd85eb7512cce0021bcb12af", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 61523, "upload_time": "2019-07-04T04:13:33", "url": "https://files.pythonhosted.org/packages/56/a6/3690dca5f2f3c8489280fbaae5897029c713d1377347eecbc29e029997a8/PythonTwitchBotFramework-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7827b4f720cf59f56d23edface71e41e", "sha256": "cfabba45a13c7974b39a7680842a2a385e0e6cd8229a2dbc34cf901feb8779d8" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.2.0.tar.gz", "has_sig": false, "md5_digest": "7827b4f720cf59f56d23edface71e41e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42138, "upload_time": "2019-07-04T04:13:35", "url": "https://files.pythonhosted.org/packages/1a/8e/230f24dc021c959be3397b749cefa5e75ba4097ac83ba3c12f999af74e62/PythonTwitchBotFramework-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "4c8d267fa712f964dc4fe647b748ded8", "sha256": "cf0a56394c70fa8ee24e754129541d5591e5685616778e82127244ac66626e2e" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4c8d267fa712f964dc4fe647b748ded8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 62861, "upload_time": "2019-07-17T20:56:22", "url": "https://files.pythonhosted.org/packages/89/d0/7ecca75696641dc738f4a9ca1b6764b06374fc9b424c72699059ebaafac2/PythonTwitchBotFramework-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c1fe97c08b82b26327bdcddd75e8b7c", "sha256": "d669628451126fb20dcf0b2fa03387f0250e0bab19f3e577bbe6fe35be6fbbcb" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.0.tar.gz", "has_sig": false, "md5_digest": "3c1fe97c08b82b26327bdcddd75e8b7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43229, "upload_time": "2019-07-17T20:56:24", "url": "https://files.pythonhosted.org/packages/af/57/faa8cb35294432c26ea48c6b4e1e72b1c95f5e372b524ee8ec331eefd5a5/PythonTwitchBotFramework-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "71e08c4109b6c1900765adfe593e2c1b", "sha256": "95a16697a94b6b476c6853b5da45f2a7bfea52764a47601d9f1d83e881d1b191" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "71e08c4109b6c1900765adfe593e2c1b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 63107, "upload_time": "2019-07-17T21:32:09", "url": "https://files.pythonhosted.org/packages/5a/98/1997b36bab868fd8eb19910afcb1fb31dba6d18c4b2a0f33bb88f0f44fac/PythonTwitchBotFramework-1.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "53aaf66f1fc7459ecb0bcc103c49b1ef", "sha256": "5f7a37e00de4dcdd7c0eebd8dce736cacb499a94c75b7dcfc3ec93e1b58f5d85" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.1.tar.gz", "has_sig": false, "md5_digest": "53aaf66f1fc7459ecb0bcc103c49b1ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43420, "upload_time": "2019-07-17T21:32:11", "url": "https://files.pythonhosted.org/packages/b5/83/3214b42efd1de2cbf3aae384b23b2dbba7fe4b2ab5e90d1f689cb9f47bf4/PythonTwitchBotFramework-1.3.1.tar.gz" } ], "1.3.10": [ { "comment_text": "", "digests": { "md5": "c40cb90171932494ff65c8e7812250cc", "sha256": "7378dc8b37e2793ed5e579dddae39056d932aebba9e6e7d36b40753334f6606f" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.10-py3-none-any.whl", "has_sig": false, "md5_digest": "c40cb90171932494ff65c8e7812250cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65120, "upload_time": "2019-08-03T21:03:53", "url": "https://files.pythonhosted.org/packages/a9/c2/96d7b8dfc749a51f8490b1cb87efe13d107834c5a2bdac2c2f42fc677c69/PythonTwitchBotFramework-1.3.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b03fadf7da1f2336041b92681bdb5f4e", "sha256": "16891c74b14f13ebb4016eb379d3127fcc50d0278f2430f9bd8e28c5cb1ec40d" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.10.tar.gz", "has_sig": false, "md5_digest": "b03fadf7da1f2336041b92681bdb5f4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44859, "upload_time": "2019-08-03T21:03:55", "url": "https://files.pythonhosted.org/packages/69/38/a834e34a2f67db177db487bb4d33287f6555957b6c6c1055bd4ceb21462a/PythonTwitchBotFramework-1.3.10.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "f114fd6d8edfe8db4e24d3f16f648dc2", "sha256": "3a926fb490bd696907db0bb854bec0424483f44faac18920eb72c0ea92ff0901" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f114fd6d8edfe8db4e24d3f16f648dc2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 63109, "upload_time": "2019-07-19T16:32:34", "url": "https://files.pythonhosted.org/packages/1f/b0/420954082d71f85ba1f492d9a6fa29d773c24a09e0db44831195286f0123/PythonTwitchBotFramework-1.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e187d21c2ea63a33e7843610d7fdd17", "sha256": "0792662bc06a550edb046cb0bfdeefb0fb909a0c7796b9d1fef57fcc2735b3dc" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.2.tar.gz", "has_sig": false, "md5_digest": "8e187d21c2ea63a33e7843610d7fdd17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43444, "upload_time": "2019-07-19T16:32:36", "url": "https://files.pythonhosted.org/packages/3a/c2/e1a9b6746bc14b314acd698bf90f466ff11f83c2af8570196788be0b2b69/PythonTwitchBotFramework-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "97a3a917b33d0ad18870db10f6c05159", "sha256": "5d603df3fd858d8bc240cea48c560935e158c4d9dff7097b1d72d1853d4cee26" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "97a3a917b33d0ad18870db10f6c05159", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 63355, "upload_time": "2019-07-19T23:11:53", "url": "https://files.pythonhosted.org/packages/3f/67/332e1f0ca15ec195401f7064a5b3d0cea70e5bbe5f7db4c4f2569628c046/PythonTwitchBotFramework-1.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "917111644d217a7132dc2b1bfb40702a", "sha256": "8db26429476eafdc5e6a9167bc4880087cc9be0ede563469e3e77f2e198950c5" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.3.tar.gz", "has_sig": false, "md5_digest": "917111644d217a7132dc2b1bfb40702a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43639, "upload_time": "2019-07-19T23:11:55", "url": "https://files.pythonhosted.org/packages/52/34/c7588c0ed7d566eedb3585f337ebe393246ed7009ee69bf80992d4f6feee/PythonTwitchBotFramework-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "60fd099736c8c50b7628d6fcc48d10f3", "sha256": "0bb9aaf16e8c581ff86950fffde36bcd12e7d34197342c26356701d5fe86c6a4" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "60fd099736c8c50b7628d6fcc48d10f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 63384, "upload_time": "2019-07-20T01:26:38", "url": "https://files.pythonhosted.org/packages/9b/eb/c4c49cf48aab0558a4ed2bd86f250e78925eb62f5c19309171f04146bcf0/PythonTwitchBotFramework-1.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5d0e178c6cfcb85c16c0083ecd93d9b", "sha256": "fe2fe50e29bbb83f16997450fc56e9d608ef1596b54bb793699d90831d79a096" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.4.tar.gz", "has_sig": false, "md5_digest": "b5d0e178c6cfcb85c16c0083ecd93d9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43662, "upload_time": "2019-07-20T01:26:40", "url": "https://files.pythonhosted.org/packages/2f/88/65bd264ddf5c57ea51fac18be3bf7cd8b90a1b04a686f0e5d3c1809ccf4e/PythonTwitchBotFramework-1.3.4.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "2630f6ba590c1e6a196aae7afbb8e48e", "sha256": "76a5981395caeddab420edadb7428ae44b2608664785850d5b5bac17f34894b0" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "2630f6ba590c1e6a196aae7afbb8e48e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 63499, "upload_time": "2019-07-20T05:21:36", "url": "https://files.pythonhosted.org/packages/46/43/54adfc79a679874459acdad8e7d3002d0900b56eac7605ab7e33f3364aef/PythonTwitchBotFramework-1.3.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b995bb8d39536b99ce6a6b91f25e489c", "sha256": "ca0f3012ad314c3fb8ccb826c9a5ad0c32c680204af3ce3e4cc6083adef73d5f" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.5.tar.gz", "has_sig": false, "md5_digest": "b995bb8d39536b99ce6a6b91f25e489c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43780, "upload_time": "2019-07-20T05:21:38", "url": "https://files.pythonhosted.org/packages/36/68/a5f53d96751c478e28a00be9223de3659776f1e8b5da0d60c2de7b35444f/PythonTwitchBotFramework-1.3.5.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "ff96bfef88f75b515ebf1812ee9b8bd1", "sha256": "516828c2bc6a82a49e59e7a774577a31ff062dcdd93dd4f58ee85885061dcb3f" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "ff96bfef88f75b515ebf1812ee9b8bd1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 63874, "upload_time": "2019-07-20T21:45:44", "url": "https://files.pythonhosted.org/packages/16/68/870ee8d23bfaaf7c4806cb244493d2057341379a9f39485a5dcf01377c98/PythonTwitchBotFramework-1.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0fdfb41c2b174395ffec90aecc8e8df", "sha256": "2ecc7d87e29fe69699eeecfadca735b2577f4d9ddefa7c95dfcb8191e52d3163" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.6.tar.gz", "has_sig": false, "md5_digest": "b0fdfb41c2b174395ffec90aecc8e8df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44105, "upload_time": "2019-07-20T21:45:46", "url": "https://files.pythonhosted.org/packages/bd/ca/4d9b4219cd09a12340a8c037460fb99f529e2860e82453c6599fbf5f6168/PythonTwitchBotFramework-1.3.6.tar.gz" } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "b49ded0335843c92144024cdff03d5d0", "sha256": "330c446821c1a9567615c61482baa4fa8564c0b81c108aa29ad20591309ab974" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.7-py3-none-any.whl", "has_sig": false, "md5_digest": "b49ded0335843c92144024cdff03d5d0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 64047, "upload_time": "2019-07-23T00:21:32", "url": "https://files.pythonhosted.org/packages/e4/f5/25626591090b2cbdfbd2a9d0b6f84059f05f84c7e1797940853c028eec2d/PythonTwitchBotFramework-1.3.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a89bee1d208a92f5b80987a892457921", "sha256": "79a99571b2678ae67b5ed7e6e5eb0fa471d79d36fedba9454231164505bf512d" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.7.tar.gz", "has_sig": false, "md5_digest": "a89bee1d208a92f5b80987a892457921", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44349, "upload_time": "2019-07-23T00:21:34", "url": "https://files.pythonhosted.org/packages/70/d0/c22bbadb4db7e9070302c353601c2e47aefd21af38904b99ca5514a2a5d4/PythonTwitchBotFramework-1.3.7.tar.gz" } ], "1.3.9": [ { "comment_text": "", "digests": { "md5": "d023eb3f0c347ac45913ca58daa46aba", "sha256": "24aed452330514c7020889e6c82ee5af8c0ca115c80c678c24b5b6ffc91cc2f5" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.9-py3-none-any.whl", "has_sig": false, "md5_digest": "d023eb3f0c347ac45913ca58daa46aba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65073, "upload_time": "2019-08-03T19:41:55", "url": "https://files.pythonhosted.org/packages/8e/8f/282b68bdf953703904fc2a8eeb094294bcc48faaf37223bad02d06d7e749/PythonTwitchBotFramework-1.3.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92ba712b346a5e7edfcfed0b502b3170", "sha256": "9fee748e634810aa812be8421de51cf9449a5e26d7a84647a1d44bfbcdd02bd3" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.3.9.tar.gz", "has_sig": false, "md5_digest": "92ba712b346a5e7edfcfed0b502b3170", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44838, "upload_time": "2019-08-03T19:41:56", "url": "https://files.pythonhosted.org/packages/38/82/c041ff3f735648ed6d1d324f48fa1938db77f00f03460b0a4aba86b82253/PythonTwitchBotFramework-1.3.9.tar.gz" } ], "1.4.10": [ { "comment_text": "", "digests": { "md5": "45568eff608707fa1db7e13a6ee58930", "sha256": "438b761b932848c0a6c78eec621ebc76f9f3fbbb0eb7f9723116b686eb2a75aa" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.4.10-py3-none-any.whl", "has_sig": false, "md5_digest": "45568eff608707fa1db7e13a6ee58930", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65612, "upload_time": "2019-08-08T21:27:50", "url": "https://files.pythonhosted.org/packages/0e/ad/e1c98253af3d04ce007f6bd3aec7595177f7aad2475183c09a185c6874ef/PythonTwitchBotFramework-1.4.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "12bcf7648d252542732d7806d794256a", "sha256": "4081849d4c2512a54d1b45f88d86d23f9d1037fb5a47d6f5248ffec0a3ee688f" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.4.10.tar.gz", "has_sig": false, "md5_digest": "12bcf7648d252542732d7806d794256a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45417, "upload_time": "2019-08-08T21:27:52", "url": "https://files.pythonhosted.org/packages/d9/26/17a754243dddc4c55372981ca4e257c92597fa057e504bd4e72ceb1cb5b4/PythonTwitchBotFramework-1.4.10.tar.gz" } ], "1.4.11": [ { "comment_text": "", "digests": { "md5": "fd708e0c3c9713b612a341e99eb2964e", "sha256": "bb9f46574a9bb36201815d8328c6a58c5f038d3aa2f1df5152819a2b1b7b049b" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.4.11-py3-none-any.whl", "has_sig": false, "md5_digest": "fd708e0c3c9713b612a341e99eb2964e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65779, "upload_time": "2019-08-10T02:25:01", "url": "https://files.pythonhosted.org/packages/6b/16/a59d8f0c00977c00976e77799e9455b8b57fb0a58923fb3202fc0eef9ce4/PythonTwitchBotFramework-1.4.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad108da94b61eb95bbf20cfb8dca550c", "sha256": "4173e7c0c5b26931ed55b48c13ebb70651d450cf41f12bb2311397ba9074b619" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.4.11.tar.gz", "has_sig": false, "md5_digest": "ad108da94b61eb95bbf20cfb8dca550c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45578, "upload_time": "2019-08-10T02:25:03", "url": "https://files.pythonhosted.org/packages/63/3a/f4105d01038e1f4bcb8b0cbea671bb3166778321fad26dfb1a736e22da7c/PythonTwitchBotFramework-1.4.11.tar.gz" } ], "1.4.12": [ { "comment_text": "", "digests": { "md5": "94035a6eace8d7f2c59a3e3035145e7a", "sha256": "1eb65d9b15337d354b6b6d581c2c08169670ca8bfd1f3719c299e31cda6e96ee" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.4.12-py3-none-any.whl", "has_sig": false, "md5_digest": "94035a6eace8d7f2c59a3e3035145e7a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65841, "upload_time": "2019-08-14T22:19:00", "url": "https://files.pythonhosted.org/packages/d0/4e/ebc83b30fa71f1821475bb29308c4144cacfc09b339a6d73d5062637c27d/PythonTwitchBotFramework-1.4.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eee9e6d9939162f8bdf3e60367a49610", "sha256": "9f7c879869e3760369f6a969f45538db456fd96b03bbc265e463d5510e868d66" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.4.12.tar.gz", "has_sig": false, "md5_digest": "eee9e6d9939162f8bdf3e60367a49610", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45647, "upload_time": "2019-08-14T22:19:02", "url": "https://files.pythonhosted.org/packages/33/e5/d3a6a0ea43fbbc2b7ce6eb2f0bb7dbd70bf81461cf67856835dfdf3e650a/PythonTwitchBotFramework-1.4.12.tar.gz" } ], "1.4.13": [ { "comment_text": "", "digests": { "md5": "bef44d83b8912224d1508b2de16f9268", "sha256": "2937aec15310bec86b5755134ebde7dc985d16e980337a2bc4c3d95e40f56a74" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.4.13-py3-none-any.whl", "has_sig": false, "md5_digest": "bef44d83b8912224d1508b2de16f9268", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 65861, "upload_time": "2019-08-15T20:18:02", "url": "https://files.pythonhosted.org/packages/f9/63/be7347a9da77285afec82353dc776fe10fabcc240f8dbdd0861195d6f27f/PythonTwitchBotFramework-1.4.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fadd794b303b6c92a9b67f0aef871580", "sha256": "dbf2d55ba4c51f183b7a2f8ea9e51d05dc3826ffa75dc8195cb785d8dec9f0a1" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.4.13.tar.gz", "has_sig": false, "md5_digest": "fadd794b303b6c92a9b67f0aef871580", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45666, "upload_time": "2019-08-15T20:18:04", "url": "https://files.pythonhosted.org/packages/bf/6a/6769967fb833bdfae4b08fca2ba00f722ff46f8fc3330df966fd0029b359/PythonTwitchBotFramework-1.4.13.tar.gz" } ], "1.5.13": [ { "comment_text": "", "digests": { "md5": "bd99a17f29c31cdf2956ebf2ace83a7c", "sha256": "11196bcfe4b025ab0d881dc62db088ef2d728a99cbfcfc8a697e53387b262761" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.5.13-py3-none-any.whl", "has_sig": false, "md5_digest": "bd99a17f29c31cdf2956ebf2ace83a7c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 66379, "upload_time": "2019-10-09T01:50:37", "url": "https://files.pythonhosted.org/packages/4f/b3/b28822dcf63fefb7a43971a62ff8f91b460d3eb0ef8bbdffb3ee062aad74/PythonTwitchBotFramework-1.5.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d30bad050301d1fb2772b2ea76a5f0e4", "sha256": "787725b634d47a058a8d5113c391c282c4a34e9a6d790739ef486007e3aaf493" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.5.13.tar.gz", "has_sig": false, "md5_digest": "d30bad050301d1fb2772b2ea76a5f0e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46075, "upload_time": "2019-10-09T01:50:39", "url": "https://files.pythonhosted.org/packages/c1/1f/834f65c9f24201fd23fbce071944e2e43850880b9bc07f03484b9d2dde3a/PythonTwitchBotFramework-1.5.13.tar.gz" } ], "1.5.14": [ { "comment_text": "", "digests": { "md5": "0a6379a5670dc33e376d6bf68784cd4b", "sha256": "1fa600626a6661cbf89c0f3996b82f00c25f762c7abb2ba32dc0b46bcd7fde63" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.5.14-py3-none-any.whl", "has_sig": false, "md5_digest": "0a6379a5670dc33e376d6bf68784cd4b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 66602, "upload_time": "2019-10-14T02:45:22", "url": "https://files.pythonhosted.org/packages/4b/70/300302084319b4d8a19723690323a0eeadf439d9d55e32c2246509a7c847/PythonTwitchBotFramework-1.5.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c015559b1cb89113c1daac3696affd38", "sha256": "74e4c5d926f0c9bea0d1b820d8d1a61f9c9905ffca712e3dc40ad910d181ef31" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.5.14.tar.gz", "has_sig": false, "md5_digest": "c015559b1cb89113c1daac3696affd38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46308, "upload_time": "2019-10-14T02:45:24", "url": "https://files.pythonhosted.org/packages/52/b5/5c8ef1948b41b5f584409e45f11f6911faaeb69803a807bf6414dc8166a5/PythonTwitchBotFramework-1.5.14.tar.gz" } ], "1.5.15": [ { "comment_text": "", "digests": { "md5": "43cbd6ff3588795879f0e645a4107b9c", "sha256": "cbc1770f02001717d8814a15731e63026b6666ecfae28f09665340ab0ec167ae" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.5.15-py3-none-any.whl", "has_sig": false, "md5_digest": "43cbd6ff3588795879f0e645a4107b9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 66900, "upload_time": "2019-10-14T21:14:14", "url": "https://files.pythonhosted.org/packages/9a/42/07e3e71cd62cc9c32c5c4f4f35e8cc0bd51094c4b7f247f737e2373df679/PythonTwitchBotFramework-1.5.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd8f2fcdd5f2699a7315d934848a0caf", "sha256": "aef0956e37e4dc64b513e343d7c2a20565d2abbf06be7c93a75831b990be1889" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.5.15.tar.gz", "has_sig": false, "md5_digest": "bd8f2fcdd5f2699a7315d934848a0caf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46559, "upload_time": "2019-10-14T21:14:19", "url": "https://files.pythonhosted.org/packages/19/30/08bb98009ae4a21f519af56b0a29b34949ca43c4394f75e6061c236a9411/PythonTwitchBotFramework-1.5.15.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "43cbd6ff3588795879f0e645a4107b9c", "sha256": "cbc1770f02001717d8814a15731e63026b6666ecfae28f09665340ab0ec167ae" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.5.15-py3-none-any.whl", "has_sig": false, "md5_digest": "43cbd6ff3588795879f0e645a4107b9c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 66900, "upload_time": "2019-10-14T21:14:14", "url": "https://files.pythonhosted.org/packages/9a/42/07e3e71cd62cc9c32c5c4f4f35e8cc0bd51094c4b7f247f737e2373df679/PythonTwitchBotFramework-1.5.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd8f2fcdd5f2699a7315d934848a0caf", "sha256": "aef0956e37e4dc64b513e343d7c2a20565d2abbf06be7c93a75831b990be1889" }, "downloads": -1, "filename": "PythonTwitchBotFramework-1.5.15.tar.gz", "has_sig": false, "md5_digest": "bd8f2fcdd5f2699a7315d934848a0caf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46559, "upload_time": "2019-10-14T21:14:19", "url": "https://files.pythonhosted.org/packages/19/30/08bb98009ae4a21f519af56b0a29b34949ca43c4394f75e6061c236a9411/PythonTwitchBotFramework-1.5.15.tar.gz" } ] }