You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An admin will provide a list of items to be given away, and the bot will keep track of people calling dibs on them. At the end of an interval, any items with a single reservation will be assigned to the reserver. Any items with more than one reservation will be assigned randomly. (Alternative: Find optimal assignments to maintain the least number of assignments per person?)
Presentation could be any of:
<admin>
Here is our giveaway! Type /grab followed by a title to reserve one.
A Cool Item
A Great Thing
Some Other Thing
<user1>
/grab cool item
<BOTUSER>
user1 reserved A Cool Item.
where users just type part of the text of the title after a predefined command, and the bot will match it (as leniently as possible) to the title of the item.
Or:
<admin>
Here is our giveaway! Click the command after a title to reserve it.
A Cool Item — /grab_cool
A Great Thing — /grab_great
Some Other Thing — /grab_other
<user1>
/grab_cool
<BOTUSER>
user1 reserved A Cool Item.
where each item has a separate command, which Telegram automatically linkifies in text, so the list's text is a little more cluttered but users just have to click.
Or:
<admin>
Here is our giveaway! Click a title to reserve one.
[A Cool Item](https://t.me/BOTUSER?start=/grab+cool)
[A Great Thing](https://t.me/BOTUSER?start=/grab+great)
[Some Other Thing](https://t.me/BOTUSER?start=/grab+other)
———
(private message)
<user1>
/start
<BOTUSER>
You reserved A Cool Item.
where each command is a deep link that sends the appropriate command to the bot as a private message, creating a private chat with the bot if necessary. This means users won't see each other reserving items, which could be a positive or a negative. It's also a little clunky—all Telegram clients force the user to change from the group chat view to the [potentially newly created] private chat view when activating a deep link, and the official Telegram client (but not Telegram X) forces users to click an extra button (with no additional labeling) before actually sending the command.
Or:
<admin>
Here is our giveaway! Click a title to reserve one.
<admin>
/giveaway
<BOTUSER>
Giveaway Title
[A Cool Item | /grab cool]
[A Great Thing | /grab great]
[Some Other Thing | /grab other]
where the admin inputs items into a list in the bot somehow, and the bot responds to a command (like /giveaway) to display the list in the group chat. Each item will be a callback button (like what's used for navigation in /events), rather than a line of text, and clicking on it causes the user to send essentially a private message to the bot, but that doesn't navigate them away from the group chat view (or require a private chat with the bot to even exist). The button UI uses a little more screen real estate, and unfortunately Telegram X conforms to Android's "Material" style for buttons, forcing button text to be in all caps, so this would be rendered (in Telegram X) as:
<BOTUSER>
Giveaway Title
[A COOL ITEM | /grab cool]
[A GREAT THING | /grab great]
[SOME OTHER THING | /grab other]
The initial implementation will focus on UI and data collection (presumably under giveaway's modconf), so an instance admin will have to extract the data manually at the end of the giveaway. After the user-facing UI has been ironed out, we can come back to things like storing the data externally, admin-facing UIs, etc.
An admin will provide a list of items to be given away, and the bot will keep track of people calling dibs on them. At the end of an interval, any items with a single reservation will be assigned to the reserver. Any items with more than one reservation will be assigned randomly. (Alternative: Find optimal assignments to maintain the least number of assignments per person?)
Presentation could be any of:
where users just type part of the text of the title after a predefined command, and the bot will match it (as leniently as possible) to the title of the item.
Or:
where each item has a separate command, which Telegram automatically linkifies in text, so the list's text is a little more cluttered but users just have to click.
Or:
where each command is a deep link that sends the appropriate command to the bot as a private message, creating a private chat with the bot if necessary. This means users won't see each other reserving items, which could be a positive or a negative. It's also a little clunky—all Telegram clients force the user to change from the group chat view to the [potentially newly created] private chat view when activating a deep link, and the official Telegram client (but not Telegram X) forces users to click an extra button (with no additional labeling) before actually sending the command.
Or:
where the admin inputs items into a list in the bot somehow, and the bot responds to a command (like
/giveaway
) to display the list in the group chat. Each item will be a callback button (like what's used for navigation in/events
), rather than a line of text, and clicking on it causes the user to send essentially a private message to the bot, but that doesn't navigate them away from the group chat view (or require a private chat with the bot to even exist). The button UI uses a little more screen real estate, and unfortunately Telegram X conforms to Android's "Material" style for buttons, forcing button text to be in all caps, so this would be rendered (in Telegram X) as:The initial implementation will focus on UI and data collection (presumably under
giveaway
's modconf), so an instance admin will have to extract the data manually at the end of the giveaway. After the user-facing UI has been ironed out, we can come back to things like storing the data externally, admin-facing UIs, etc.@bhsgoclub
The text was updated successfully, but these errors were encountered: