{"id":41933319,"url":"https://github.com/venkytv/botmand","last_synced_at":"2026-01-25T18:03:53.352Z","repository":{"id":170590828,"uuid":"632649924","full_name":"venkytv/botmand","owner":"venkytv","description":"Inetd for Slack Bots","archived":false,"fork":false,"pushed_at":"2024-04-14T18:00:47.000Z","size":189,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-01T13:04:57.479Z","etag":null,"topics":["bot","chat","chatbots","chatgpt","chatgpt-bot","chatops","chatops-ai","slack-bot"],"latest_commit_sha":null,"homepage":"","language":"Go","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/venkytv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-04-25T21:07:33.000Z","updated_at":"2023-07-18T09:26:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"8b1f9950-9d27-4dd0-9aa9-6a3e44493ded","html_url":"https://github.com/venkytv/botmand","commit_stats":null,"previous_names":["venkytv/botmand"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/venkytv/botmand","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkytv%2Fbotmand","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkytv%2Fbotmand/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkytv%2Fbotmand/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkytv%2Fbotmand/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/venkytv","download_url":"https://codeload.github.com/venkytv/botmand/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venkytv%2Fbotmand/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28756432,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T16:32:25.380Z","status":"ssl_error","status_checked_at":"2026-01-25T16:32:09.189Z","response_time":113,"last_error":"SSL_read: 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":["bot","chat","chatbots","chatgpt","chatgpt-bot","chatops","chatops-ai","slack-bot"],"created_at":"2026-01-25T18:03:53.289Z","updated_at":"2026-01-25T18:03:53.340Z","avatar_url":"https://github.com/venkytv.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BotManD\n\nBotManD is a bot engine designed to simplify the process of creating Slack\nbots.\n\nBotManD is to Slack conversations what a webserver is to CGI scripts. It allows\nyou to write bots that are simple executables which read from stdin and write\nto stdout.  BotManD manages the lifecycles of the bots--launching instances on\ndemand (a separate instance for each conversation), and terminating\nconversations when the bot executables exit.\n\nThe bots themselves can be very simple. You can write them in any language you want.\nThis is the complete code for a working bot which keeps track of when was the\nlast time someone mentioned \"ChatGPT\" in the channel:\n\n```bash\n#!/bin/bash\n\nLAST_MENTION=\n\nwhile :; do\n    read MSG\n    if [[ \"$MSG\" = *ChatGPT* ]]; then\n        NOW=$( date +'%s' )\n        if [[ -n \"$LAST_MENTION\" ]]; then\n            echo \"It has been $(( NOW - LAST_MENTION )) seconds since someone mentioned ChatGPT last!\"\n        fi\n        LAST_MENTION=\"$NOW\"\n    fi\n\n    sleep 0.1\ndone\n```\n\nhttps://github.com/venkytv/botmand/assets/718613/92c1ea65-9cbd-46a3-b28b-be2a326f0549\n\nSee [examples](examples) for more examples. Writing a BotManD bot is so simple\nthat you can write a [simple bot that uses ChatGPT to write bots of its\nown](examples/genbot).\n\n### AI-powered Chatbots\n\nBotManD is designed primarily for supporting conversational bots, which\nincidentally happens to be how most current AI chatbots are set up. For\nexamples of how you can use BotManD to develop AI-powered chatbots, have a look\nat the [gptbot](examples/gptbot), [logparse](examples/logparse), and\n[genbot](examples/genbot) examples.\n\nhttps://github.com/venkytv/botmand/assets/718613/acc6a5d6-1c6a-4c37-99a2-97a5e149ac6a\n\n## Installation\n\n* Download the [latest release](../../releases/latest) of botmand for your platform.\n* Extract the archive and move the `botmand` executable to a directory of your choice.\n\n## Quickstart\n\n### Generate a Slack classic app bot token\n\n1. Create a Classic Slack app: https://api.slack.com/apps?new_classic_app=1\n2. Click on \"App Home\" in the left sidebar to get to the bot creation page.\n3. Click on the \"Add Legacy Bot User\" button.\n4. Set a display name and user name for the bot and add the bot.\n5. Click on \"Install App\" in the left sidebar.\n6. Click \"Install to Workspace\" and allow the bot access to the workspace.\n7. At this point, you should see the \"OAuth Tokens\" for your workspace.\n    There are two tokens displayed, but you just need the \"Bot User OAuth Token\" which\n    should start with the string `xoxb-`.\n8. Copy this token to the file `.slack.token` in your home directory.\n\n### Set up the example basicbot\n\n```bash\ngit clone https://github.com/venkytv/botmand.git\ncd botmand/examples/basicbot\nmake install\n```\n\n### Invite the Slack bot to a channel in your workspace\n\nGo to a channel in Slack and either use the `/invite` command, or just message\nthe new Slack bot to invite it to the channel.\n\n### Start botmand\n\nLaunch `botmand` from the directory you moved it to.\n\n```bash\n./botmand\n```\n\n### Start a conversation\n\nSend a \"hello\" message mentioning the bot name. The bot should respond in a\nthread echoing what you said. And then continue echoing whatever you say in the\nthread until you say \"bye\".\n\n### Explore more real-world bots\n\n* [gptbot](examples/gptbot): An AI chat assistant which can participate in the\n  conversation when asked to.\n* [logparse](examples/logparse): An AI assistant which can diagnose issues by\n  reading log files.\n* [genbot](examples/genbot): An AI assistant which can generate shell scripts\n  for requested tasks and run them within the bot.\n\n### Write your own bot\n\nThe [bot writing guide](BOT-WRITING-GUIDE.md) has details on writing bots.  You\ncould also have a look at the included [example bots](examples).\n\n## Building from Source\n\n```bash\ngo build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenkytv%2Fbotmand","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvenkytv%2Fbotmand","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenkytv%2Fbotmand/lists"}