Building A Telegram Group Lottery System Using Drand Randomness

Group Lottery

Prize:
Racknerd 2 GB KVM VPS (2025's 11.11 Promo) Paid up until NOV/03/2027, push ownership, lottery organizer covers push fee × 1

How to participate:
Join the dedicated lottery group https://t.me/lottery_test_group
Vote "Participate" in this poll https://t.me/lottery_test_group/61

Participation deadline:
2026-11-02 09:00:00 UTC+08:00

Random number generation time:
2026-11-02 09:15:00 UTC+08:00

Lottery algorithm published:
https://t.me/lottery_test_group/58

Lottery rules published:
https://t.me/lottery_test_group/59

Criticism welcome!


Lottery System Development

Previously triedcollecting lottery entries using reaction emoji on Telegram messages and then using random.org to provide random numbers

Recently, on the sb.sb forum, I saw drand.love being used to provide random numbers for lotteries.

I wanted to try further developing a Telegram lottery process.


Prompted Muse

Design a Telegram lottery system like this

Randomness comes from https://drand.love/ 
When initiating a lottery, publicly specify a future drand round's random number.

The public nature of information comes from Telegram group messages and their attributes.

The immutability of information comes from the state of Telegram messages. Edited messages will show "edited".

Participation in the lottery is via voting on group messages

The algorithm for using the random number to draw the winner list must be made public at the time the lottery is initiated.


Humans participated in refining many small details, omitted here.


Results

Telegram群聊截图,展示抽奖投票、名单冻结、drand随机数与开奖全过程

I don't think there's any need to open-source this small system,
If you want to replicate it, let an Agent look at the publicly released example lottery process and write a version for your own use.

Postscript

About the edited status of Telegram messages

Only messages sent by users (userbot MTProto protocol) will show the edited status after modification

Messages sent by bots (Telegram Bot API) will not show the edited status after modification


Comments