I’m working on a Telegram bot that forwards user questions to an admin group where multiple admins can respond. The goal is to create an anonymous question and answer system.
I added a “Reply to this question” button in the group, but I’m having trouble making it work properly. The main challenge is sending responses back to the original user while keeping their identity hidden from the admins.
Is it technically possible to:
- Receive anonymous questions in an admin group
- Allow admins to reply through the bot
- Send those replies back to the original questioner
- Keep the user’s identity completely hidden from admins
Has anyone built something similar or know if there are existing bots that handle anonymous messaging between users and admin groups?
yeah totally possible! i built one using message_id as reference instead of tokens. just store original user’s chat_id with some random key, forward question to admin group with that key visible. when admin replies, bot checks the key and sends back to user. works pretty smooth tbh
I developed a similar system for anonymous reports last year, and found that it really hinges on using a unique identifier for each question. What I did was assign a random token to each query and kept track of it in a database alongside the user’s chat ID. This way, the admins only see the question and the token. When they respond, the bot translates the token back into the user ID and routes the response accordingly. You should definitely prioritize secure data handling to keep user identities private and ensure your callback functions in the bot are set up to handle this correctly.
This is absolutely doable and I’ve implemented something quite similar for a customer support bot. The architecture requires maintaining a mapping table between anonymous session IDs and actual user chat IDs on your backend. When a question comes in, generate a unique session identifier and store it with the user’s details, then forward only the question text and session ID to your admin group. For the reply mechanism, you can use inline keyboards with callback data containing the session ID. When admins click reply, capture their response and use the session ID to lookup the original user’s chat ID for message delivery. The tricky part is handling multiple admin responses - you might want to implement a claim system where the first admin to respond gets assigned to that session. Make sure your database properly isolates the user identity data from what the admins can access.