{"id":13715708,"url":"https://github.com/pircbotx/pircbotx","last_synced_at":"2025-05-07T05:31:34.817Z","repository":{"id":30872301,"uuid":"34429934","full_name":"pircbotx/pircbotx","owner":"pircbotx","description":"Modern Java IRC Library","archived":false,"fork":false,"pushed_at":"2024-12-22T18:16:00.000Z","size":11473,"stargazers_count":221,"open_issues_count":26,"forks_count":72,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-12-22T19:28:42.834Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://pircbotx.github.io/pircbotx/latest/apidocs/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pircbotx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS"}},"created_at":"2015-04-23T02:51:55.000Z","updated_at":"2024-12-22T18:16:04.000Z","dependencies_parsed_at":"2023-01-14T17:52:20.617Z","dependency_job_id":"733b8313-475b-45f4-ac2d-7296aca9a39a","html_url":"https://github.com/pircbotx/pircbotx","commit_stats":null,"previous_names":["thelq/pircbotx"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pircbotx%2Fpircbotx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pircbotx%2Fpircbotx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pircbotx%2Fpircbotx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pircbotx%2Fpircbotx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pircbotx","download_url":"https://codeload.github.com/pircbotx/pircbotx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252822995,"owners_count":21809700,"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-08-03T00:01:02.475Z","updated_at":"2025-05-07T05:31:34.154Z","avatar_url":"https://github.com/pircbotx.png","language":"Java","funding_links":[],"categories":["Frameworks"],"sub_categories":["Self-hosted"],"readme":"[![Java CI](https://github.com/pircbotx/pircbotx/actions/workflows/maven.yml/badge.svg?branch=pr_actions)](https://github.com/pircbotx/pircbotx/actions/workflows/maven.yml)\r\n\r\n**PircBotX** is a powerful Java IRC Client library for bots and user clients. Version v2.3 (2022)\r\n\r\n* Provides [63 IRC events](https://pircbotx.github.io/pircbotx/latest/apidocs/org/pircbotx/hooks/events/package-summary.html) in a multi-threaded listener system, including\r\n  * Optimized Channel/User Model\r\n  * Standard and reverse/passive DCC Chat and Filesharing powered by `java.nio`\r\n  * CTCP VERSION, ACTION, PING, TIME, and FINGER\r\n  * User modes op, voice, halfop, superops, and owner\r\n  * Channel modes invite only, quiet, moderated, secret, limit, key\r\n  * BANLIST, LIST (Channels), NAMES, QUIETLIST, WHO, and WHOIS\r\n  * 001-005 server info, MOTD\r\n  * Core IRC commands JOIN, QUIT, KICK, BAN, INVITE, AWAY, MODE, TOPIC\r\n  * Nickserv integration with self register and other user's registration status\r\n  * Auto join channels, auto WHO and MODE on channel join\r\n* Connection features\r\n  * [IRCv3 CAP negotiation](https://github.com/pircbotx/pircbotx/wiki/Documentation#cap-support) with native support for SASL, away-notify, and message tags\r\n  * Robust connection handling with server list, attempt all DNS entries, auto retry, auto reconnect\r\n  * Supports TLS IRC servers\r\n  * Supports IPv6 IRC servers and DCC clients\r\n  * Output message throttling, auto long line split\r\n  * [WEBIRC authentication](https://github.com/pircbotx/pircbotx/wiki/Documentation#webirc-authentication)\r\n  * Built in [Ident server](https://github.com/pircbotx/pircbotx/wiki/Documentation#ident-server)\r\n  * MultiBotManager utility runs multiple bots on multiple servers\r\n* Formatting utility for color, bold/underline/italics, and reverse\r\n* Supports SLF4J MDC with context info, Marker on IO logs\r\n* Java 8 to 17 Compatible\r\n* High performance Parser\r\n\r\n**Checkout the [Wiki](https://github.com/pircbotx/pircbotx/wiki/) for tutorials and documentation**\r\n\r\n## PircBotX in 3 Steps\r\nA brief getting started guide\r\n\r\n* [Download PircBotX](https://github.com/pircbotx/pircbotx/wiki/Downloads)\r\n* Create and execute the following class:\r\n```java\r\nimport org.pircbotx.Configuration;\r\nimport org.pircbotx.PircBotX;\r\nimport org.pircbotx.hooks.ListenerAdapter;\r\nimport org.pircbotx.hooks.types.GenericMessageEvent;\r\n\r\npublic class MyListener extends ListenerAdapter {\r\n    @Override\r\n    public void onGenericMessage(GenericMessageEvent event) {\r\n        //When someone says ?helloworld respond with \"Hello World\"\r\n        if (event.getMessage().startsWith(\"?helloworld\"))\r\n            event.respond(\"Hello world!\");\r\n    }\r\n\r\n    public static void main(String[] args) throws Exception {\r\n        //Configure what we want our bot to do\r\n        Configuration configuration = new Configuration.Builder()\r\n                .setName(\"PircBotXUser\") //Set the nick of the bot. CHANGE IN YOUR CODE\r\n                .addServer(\"irc.freenode.net\") //Join the freenode network\r\n                .addAutoJoinChannel(\"#pircbotx\") //Join the official #pircbotx channel\r\n                .addListener(new MyListener()) //Add our listener that will be called on Events\r\n                .buildConfiguration();\r\n\r\n        //Create our bot with the configuration\r\n        PircBotX bot = new PircBotX(configuration);\r\n        //Connect to the server\r\n        bot.startBot();\r\n    }\r\n}\r\n```\r\n* Join the #pircbotx channel on irc.freenode.net and send `?helloworld` . Your bot will respond with `Hello world!` Since its a GenericMessageEvent, it will also respond when private messaged. Congratulations, you just wrote your first bot!\r\n\r\nPircBotX can do so much more! [Read the docs for more information](https://github.com/pircbotx/pircbotx/wiki/Documentation).\r\n\r\n## Support\r\n\r\n[Most answers can be found in the docs](https://github.com/pircbotx/pircbotx/wiki/Documentation), javadocs (https://pircbotx.github.io/pircbotx/latest/apidocs/) and [the wiki](https://github.com/pircbotx/pircbotx/wiki/).\r\n\r\n[We also have a mailing list](https://groups.google.com/group/pircbotx).\r\n\r\n## Status\r\n\r\nPircBotX is stable with a majority of the modern IRC spec implemented. Feature requests and pull requests welcome.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpircbotx%2Fpircbotx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpircbotx%2Fpircbotx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpircbotx%2Fpircbotx/lists"}