Flex Coder: post #1583 โ€” TG.ME

๐ŸŽช One-Tap On-Site Event Runner Controls in Telegram

Getting non-technical stagehands and booth staff to run slash commands during noisy live events is a recipe for missed handoffs. Instead of making them type out updates while juggling gear, I spin up an ephemeral reply keyboard that turns the Telegram composer into a customized 4-button hardware pad. Staff tap once to claim zones or raise urgent flags, and the keyboard cleans itself up as soon as they sign out.

๐Ÿ“ Filename: crew.js
๐Ÿ‘จโ€๐Ÿ’ป Code:
sendReplyKeyboard(
"<b>Crew Mode active.</b> Tap a station button to log your position or hail the lead desk:",
[["๐Ÿ“ Main Stage", "๐Ÿ“ Expo Hall"], ["๐Ÿšจ Tech Assist", "๐Ÿ Drop Shift"]]
);


๐Ÿ“ Filename: __message__.js
๐Ÿ‘จโ€๐Ÿ’ป Code:
if (message === "๐Ÿ Drop Shift") {
USER.deleteProp("station");
removeKeyboard("Shift ended. Custom keyboard dismissed.");
} else if (message === "๐Ÿšจ Tech Assist") {
sendMessage(`๐Ÿšจ <b>Urgent Alert:</b> Runner ${user.first_name} needs immediate backup at their post!`);
} else if (message.startsWith("๐Ÿ“")) {
USER.setProp("station", message.replace("๐Ÿ“ ", ""));
sendMessage(`Logged current post as <b>${message}</b>.`);
}


๐Ÿ“ Filename: status.js
๐Ÿ‘จโ€๐Ÿ’ป Code:
const station = await USER.getProp("station").value();
if (!station) {
sendMessage("No active station logged. Send /crew to bring up your station pad.");
} else {
sendMessage(`๐Ÿ‘ค <b>Runner:</b> ${user.first_name}\n๐Ÿ“ <b>Active Post:</b> ${station}`);
}


๐Ÿ’ก Always pass your closing confirmation message directly into removeKeyboard(text) so the custom input tray vanishes in the very same frame the user signs off.

#FlexGram
๐Ÿ‘1๐Ÿ‘Œ1
August 23, 2026 63