Digikeeper bot is based on golang library telego.
It was created as a pet-project to demonstrate session and stateful-protocol based approaches in telegram bot development.
To showcase the differences, there are two types of interactions:
/command-s (similar to HTTP-handlers)- keyboard actions (FSM + Session related)
Current features that you can easily copy-paste to your bot:
/cancelcommand to erase current state in session/helpcommand is autogeneratedUserStateMiddleware-- middleware to fetch session by userID (with in-memory mock implementation)
To deep dive into WHY/HOW this bot is developed, please refer to:
./docs/ -- architecture, design, etc.
README.md -- overall description
docs/ --This documentation is a central part of the project, not just an addendum. Docs are essential for understanding the project's structure and goals.
Dockerfile -- built and available as a package on GitHub
./deployment/docker-compose.yml -- to run it
OR:
run go run cmd/bot in root directory
Open a PR or Issue, I will be glad to see it.
[] Common conduct rules are applied (github-repo related contribution rules). [] Apache 2.0 license is for safe usage and sharing
Coding standards:
go toolis used **golangci-lintis used for code quality