RuItUnion.FeedbackBot
0.2.0
dotnet add package RuItUnion.FeedbackBot --version 0.2.0
NuGet\Install-Package RuItUnion.FeedbackBot -Version 0.2.0
<PackageReference Include="RuItUnion.FeedbackBot" Version="0.2.0" />
paket add RuItUnion.FeedbackBot --version 0.2.0
#r "nuget: RuItUnion.FeedbackBot, 0.2.0"
// Install RuItUnion.FeedbackBot as a Cake Addin #addin nuget:?package=RuItUnion.FeedbackBot&version=0.2.0 // Install RuItUnion.FeedbackBot as a Cake Tool #tool nuget:?package=RuItUnion.FeedbackBot&version=0.2.0
Feedback Bot
A free and open-source Telegram Bot that allows you to anonymously chat with multiple users in one Telegram Chat.
When a new user interacts with the Feedback Bot by sending a message, the bot forwards the message to a specific topic dedicated to that user within the Feedback Chat. If a topic for the user does not already exist, the bot creates a new one. This ensures that each user's message is organized in its own topic, allowing for clear and efficient interaction.
Created and supported by Russian IT Union.
📝 Prerequisites
- Telegram Bot Token;
- Telegram Chat ID.
🛠️ Prepare the Environment
Telegram bot
- Create a bot with @BotFather;
- After successfully creating the bot, you will receive a Telegram Bot Token.
Feedback Chat
- Create a private chat;
- Enable topics;
- Get the Telegram Chat ID;
You can get the ID of any user / chat / bot using desktop Telegram client. To do that go to Settings / Advanced / Experimental settings and enable Show peer ID in Profile. Now you will be able to see all the IDs.
- Add the bot from the previous step and make it Administrator;
- The only permission required for the bot is to manage topics.
🚀 Run
From GitHub Container Registry
- Download
docker-compose.yml
&feedback_bot.env
files into one folder; - Edit
feedback_bot.env
with any text editor and replace these values:<bot_token>
with Telegram Bot Token,<chat_id>
with Telegram Chat ID,<start_text>
with your greeting message your new users;
- Run the following command:
docker compose up -d
From source code
- Clone this repo;
- Edit
feedback_bot.env
with any text editor and replace these values:<bot_token>
with Telegram Bot Token,<chat_id>
with Telegram Chat ID,<start_text>
with your greeting message your new users;
- Edit
docker-compose.yml
: infeedback_bot
section changeimage
value toghcr.io/ruitunion-org/feedback-bot:local
- Run the following commands:
docker build -t ghcr.io/ruitunion-org/feedback-bot:local -f ./RuItUnion.FeedbackBot/Dockerfile .
docker compose up -d
🌟 Features
Commands
Commands other than /start
are only available in group chat.
Use /help
to get information about all commands.
/start
- Starts the bot and displays a welcome message./help
- Displays a list of all commands with their descriptions./delete
- Removes a reply in the user chat./open
- Opens a topic in the feedback chat./close
- Closes a topic in the feedback chat./ban
- Bans the user./unban
- Unbans the user.
Permissions
Command | Bot User | Chat User | Chat Admin |
---|---|---|---|
/help |
✅ | ✅ | ✅ |
/start |
✅ | ✅ | ✅ |
/delete |
❌ | ✅ | ✅ |
/open |
❌ | ❌ | ✅ |
/close |
❌ | ❌ | ✅ |
/ban |
❌ | ❌ | ✅ |
/unban |
❌ | ❌ | ✅ |
🤝 Contributing
Contributions are welcome. Here are some ways you can help:
- Report bugs: If you find a bug, please report it by creating an issue on GitHub;
- Request features: Have an idea for a new feature? Let us know by creating a feature request;
- Submit pull requests: If you'd like to fix a bug or add a feature, feel free to fork the repository and submit a pull request.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. |
-
net9.0
- Aspire.Npgsql (>= 9.0.0)
- Microsoft.VisualStudio.Azure.Containers.Tools.Targets (>= 1.21.0)
- Npgsql.OpenTelemetry (>= 9.0.2)
- OpenTelemetry.Exporter.Console (>= 1.10.0)
- OpenTelemetry.Exporter.OpenTelemetryProtocol (>= 1.10.0)
- OpenTelemetry.Extensions.Hosting (>= 1.10.0)
- OpenTelemetry.Instrumentation.AspNetCore (>= 1.10.1)
- OpenTelemetry.Instrumentation.Http (>= 1.10.0)
- OpenTelemetry.Instrumentation.Runtime (>= 1.10.0)
- System.Text.Json (>= 9.0.0)
- TgBotFrame.Commands (>= 1.3.5)
- TgBotFrame.Commands.Help (>= 1.4.11)
- TgBotFrame.Commands.RateLimit (>= 1.2.4)
- TgBotFrame.Commands.Start (>= 1.2.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
0.2.0 | 30 | 12/22/2024 |
0.2.0-rc.8 | 42 | 12/20/2024 |
0.2.0-rc.7 | 37 | 12/20/2024 |
0.2.0-rc.6 | 46 | 12/17/2024 |
0.2.0-rc.5 | 39 | 12/17/2024 |
0.2.0-rc.4 | 41 | 12/17/2024 |
0.2.0-rc.3 | 45 | 12/10/2024 |
0.2.0-rc.2 | 42 | 12/10/2024 |
0.2.0-rc.1 | 43 | 12/8/2024 |