digikeeper-bot
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:
/cancel
command to erase current state in session
/help
command is autogenerated
UserStateMiddleware
-- middleware to fetch session by userID (with in-memory mock implementation)
Docs
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.
Run
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
Contribution
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 tool
is used
** golangci-lint
is used for code quality