digikeeper-bot

module
v0.0.0-...-31f2ae8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2025 License: Apache-2.0

README

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

Directories

Path Synopsis
cmd
bot
internal
pkg
loggingctx
Package loggingctx provides structured logging support through context propagation.
Package loggingctx provides structured logging support through context propagation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL