{"id":17358138,"url":"https://github.com/dadadel/pyircibot","last_synced_at":"2025-03-27T15:46:00.488Z","repository":{"id":18174365,"uuid":"21286350","full_name":"dadadel/pyircibot","owner":"dadadel","description":"A Python IRC client helping to create IRC botnets","archived":false,"fork":false,"pushed_at":"2014-08-02T22:58:19.000Z","size":240,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T19:44:23.767Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dadadel.png","metadata":{"files":{"readme":"README.rst","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}},"created_at":"2014-06-27T19:09:10.000Z","updated_at":"2017-10-24T12:52:45.000Z","dependencies_parsed_at":"2022-09-24T06:00:25.878Z","dependency_job_id":null,"html_url":"https://github.com/dadadel/pyircibot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadadel%2Fpyircibot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadadel%2Fpyircibot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadadel%2Fpyircibot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadadel%2Fpyircibot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dadadel","download_url":"https://codeload.github.com/dadadel/pyircibot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245874558,"owners_count":20686789,"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":[],"created_at":"2024-10-15T19:04:33.694Z","updated_at":"2025-03-27T15:46:00.469Z","avatar_url":"https://github.com/dadadel.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"PyIrciBot\n=========\n\nThis is a Python IRC client helping to create IRC botnets.\n\nThere is no inheritance. You write a class doing things with some methods with a particular name returning a particular dictionary and you provide that class to PyIrciBot.\nThen you run it and it is done!\nIt is also possible to write some functions that are given to PyIrciBot instead of providing a class.\n\nHowto\n-----\n\nYou can refer to `testbot.py \u003chttps://github.com/dadadel/pyircibot/blob/master/testbot.py\u003e`_ to see an example of use.\n\n- Example of use\n\nThe basic usage is:\n\n.. code-block:: python\n\n    from pyircibot import PyIrciBot\n    bot = PyIrciBot(\"irc.server.org\", \"#channel\")\n    bot.connect()\n\nAnd that step we are connected to the server \"irc.server.org\" and to the channel \"#channel\".\nAs no nick name was provided, a random one was generated.\nNote that the bot won't do anything and it will probably be kicked as it won't\nanswer to the ping. To do at least that last action and stay connected to the\nchan, use:\n\n.. code-block:: python\n\n    bot.run()\n\nBut there is no interaction possible. You can provide a function to parse\nmessages posted to chan or addressed to the bot:\n\n.. code-block:: python\n\n    from pyircibot import PyIrciBot\n    def parse(message, source, target):\n        print ('{} wrote to {} the message: {}'.format(source, target, message))\n        return {'cmd': {'message': '{} wrote to {} the message: {}'.format(source, target, message)}}\n    bot = PyIrciBot(\"irc.server.org\", \"#channel\")\n    bot.connect()\n    bot.run(parse_message=parse)\n\nNote that the bot will never leave the chan. It will echo any message written to\nthe chan or to the bot.\n\nYou can also provide a class using `use_parser_class()` like it is done the the *testbot.py* file.\n\n- Parameters\n\nThe available parameters of PyIrciBot are::\n\n    server: the IRC server to connect (mandatory)\n    channel: a channel join\n    nick: a nickname. if not given, a nickname will be generated\n            with 5 random hexa digits like 'pyircibot_5fa8b'\n    port: the port to connect to the server\n    parser_class: the user class (as provided in testbot.py)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadadel%2Fpyircibot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdadadel%2Fpyircibot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadadel%2Fpyircibot/lists"}