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

