{"id":15008986,"url":"https://github.com/texdarkstar/gw2-bot","last_synced_at":"2026-03-09T18:14:46.421Z","repository":{"id":218600614,"uuid":"112907212","full_name":"texdarkstar/gw2-bot","owner":"texdarkstar","description":"This is an inheritable class for telnet robots, for playing godwars 2, written entirely in python.  Cheers!","archived":false,"fork":false,"pushed_at":"2018-12-24T18:45:19.000Z","size":12,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-12T10:45:57.216Z","etag":null,"topics":["mud-client","python-2"],"latest_commit_sha":null,"homepage":"http://godwars2.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/texdarkstar.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}},"created_at":"2017-12-03T06:58:06.000Z","updated_at":"2025-01-01T11:57:36.000Z","dependencies_parsed_at":"2024-01-23T00:23:57.020Z","dependency_job_id":null,"html_url":"https://github.com/texdarkstar/gw2-bot","commit_stats":null,"previous_names":["texdarkstar/gw2-bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/texdarkstar/gw2-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/texdarkstar%2Fgw2-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/texdarkstar%2Fgw2-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/texdarkstar%2Fgw2-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/texdarkstar%2Fgw2-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/texdarkstar","download_url":"https://codeload.github.com/texdarkstar/gw2-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/texdarkstar%2Fgw2-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30306345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T17:35:44.120Z","status":"ssl_error","status_checked_at":"2026-03-09T17:35:43.707Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["mud-client","python-2"],"created_at":"2024-09-24T19:22:04.036Z","updated_at":"2026-03-09T18:14:46.372Z","avatar_url":"https://github.com/texdarkstar.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Example usage:\n\n```python\nfrom time import sleep\nfrom bot import Robot\n\n\nclass MyBot(Robot):\n    def init(self):\n        self.add_trigger(\n            regex=r\"^You .*, '(.*)'$\",\n            func=self.my_func,\n            name=\"my_func\",\n            gag=True,\n            )\n\n    def my_func(self, robot, string, matches):\n        print \"Matched: %s\" % string\n\n\n    def do_something_once(self, robot, timer):\n        self.execute(\"say Hello world\")\n        self.execute(\"say Hello again!\")\n        \n        \n    def do_something_lots(self, robot, timer):\n        self.execute(\"say my timer ran %d time%s!\" % (timer.runs, \"s\" if timer.runs \u003e 1 else \"\"))\n\n        \nbot = MyBot(\"username\", \"password\")\n\n\nbot.connect()\nsleep(2)\n\nbot.add_timer(1, bot.do_something_once)\nbot.add_timer(.1, bot.do_something_lots, max_runs=10)\n\nbot.execute(\"finger %s\" % bot.username)\nbot.loop()\n```\n\n# Known quirks:\n* The bot will not fire any triggers or write anything to the screen until you call its `loop()` function, which blocks the calling thread.\n\n# Tips on usage:\n* If you want to run a single script but use multiple Robots, you will need a structure like so:\n```python\nfrom bot import Robot\nimport threading\n\n\ndef start(bot):\n    bot.loop()\n\n\ndef main():\n    threads = []\n    characters = {\"GuyOne\": \"hispass\", \"GuyTwo\": \"hispass\"}\n    for name in characters:\n        bot = Robot(name, characters[name], silent=True)  # Likely will want to set silent=True, otherwise you're gonna get the\n        bot.connect()                                     # mud output for each guy written to the same screen.\n        thread = threading.Thread(target=start, args=(bot,))\n        thread.start()\n        threads.append(thread)\nmain()\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftexdarkstar%2Fgw2-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftexdarkstar%2Fgw2-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftexdarkstar%2Fgw2-bot/lists"}