{"id":20204894,"url":"https://github.com/daveanthonyc/chatbot","last_synced_at":"2026-05-07T09:33:11.819Z","repository":{"id":221347970,"uuid":"745066929","full_name":"daveanthonyc/Chatbot","owner":"daveanthonyc","description":"🤖 A simple Telegram chat bot that parses an incoming text that is in the format of an attendance form and calculates the totals of attendees for each group to be sent back to the Telegram chat.","archived":false,"fork":false,"pushed_at":"2024-03-08T18:15:08.000Z","size":1467,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-31T14:43:42.786Z","etag":null,"topics":["bot","docker","nodejs","telegraf"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/daveanthonyc.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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-18T15:23:30.000Z","updated_at":"2024-02-14T03:18:51.000Z","dependencies_parsed_at":"2024-02-07T14:26:10.361Z","dependency_job_id":"7b5ff6ed-ad19-4bea-bb8d-1a5b5b5288e9","html_url":"https://github.com/daveanthonyc/Chatbot","commit_stats":null,"previous_names":["daveanthonyc/chatbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/daveanthonyc/Chatbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveanthonyc%2FChatbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveanthonyc%2FChatbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveanthonyc%2FChatbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveanthonyc%2FChatbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daveanthonyc","download_url":"https://codeload.github.com/daveanthonyc/Chatbot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daveanthonyc%2FChatbot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32731422,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["bot","docker","nodejs","telegraf"],"created_at":"2024-11-14T05:15:35.143Z","updated_at":"2026-05-07T09:33:11.802Z","avatar_url":"https://github.com/daveanthonyc.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Chatbot\n\nThis is a Telegram chatbot that is built in Node.js with the Telegraf API in a docker container. It simply takes in a Telegram message and checks if it is a specific attendance form and parses it to produce the total attendance and replies it back to the Telegram chat.\n\n## Techstack choice \n- I had previous issues with resolving dependency issues when isntalling the node.js chatbot on an AWS server, hence I saw the need to learn and implement Docker.\n- The telegram chatbot didn't need strict performance criteria as it doesn't have to parse large sets of data, hence node.js was used.\n- The Telegraf library provides a very simple API to access the incoming text from users to parse and also simple methods to reply back a string to the Telegram chat.\n\n## Installation\n- Clone the repository\n\n\n`docker pull daveanthonyc/docker-chatbot:1.0`\n\n\n`docker run -d --name container-name -p 80:80 daveanthonyc/dockerchatbot:1.0`\n\n## When updating application\n- Build Image\n\n`docker build -t daveanthonyc/docker-chatbot:1.0 .`\n\n- Push changes to DockerHub\n\n`docker push daveanthonyc/docker-chatbot:1.0`\n\n- Connect to AWS server and enter tmux sesesion\n\n`docker pull daveanthonyc/docker-chatbot:1.0`\n\n- Check for current containers\n\n`docker ps -a`\n\n- Stop container\n\n`docker stop CONTAINER_ID`\n\n- Remove container\n\n`docker rm CONTAINER_ID`\n\n- Run newest docker image\n\n`docker run -d --name container_name -p 80:80 daveanthonyc/docker-chatbot:1.0`\n\n# Product Development Case Study: Streamlining Group Attendance Calculation with Telegram Chatbot\n\n## Problem Identification:\n\n* Recognized a pain point: Cumbersome process of calculating group totals, particularly on mobile devices for several teams in a department. Time sensitive reports are required to be submitted but are often late due to dealing with miscalculations or just general slowness with adding the values.\n* Identified need for automation to alleviate time and mental overhead.\n\n## Solution Proposal and Stakeholder Engagement:\n* Simply demonstrated to stakeholderes what the input and output of the Telegram bot would be without coding it. \n* This was to get feedback on the perceived value of the user experience.\n\n## Development and Implementation:\n\n* After obtaining stakeholder approval, proceeded with development and created the chatbot to aid with attendnace calculations.\n* Ensured seamless integration and this was done by ensuring the commands are easy to learn.\n\n## Outcome:\n* Successfully deployed Telegram chatbot which received much positive feedback.\n* As a result, it is being used each week and saves much time and the department is recognised as one of the fastest departments to submit their time sensitive reports.\n* Significantly reduced time and mental overhead associated with group total calculation.\n\n## Conclusion:\n* Great success.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaveanthonyc%2Fchatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaveanthonyc%2Fchatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaveanthonyc%2Fchatbot/lists"}