mirror of
https://github.com/TheFunny/TelegramTwitterMediaBot.git
synced 2026-09-23 23:32:05 +00:00
feat: register bot commands with Telegram
Call setMyCommands at startup so clients show the command list in the / menu. handlers::register_commands wraps Command::bot_commands() (teloxide derives it from the #[command(description)] attributes); a registration failure only warns and does not stop the bot.
This commit is contained in:
@@ -393,6 +393,15 @@ fn plural(n: usize) -> &'static str {
|
|||||||
if n == 1 { "y" } else { "ies" }
|
if n == 1 { "y" } else { "ies" }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Registers the bot's command list with Telegram so clients show it in the
|
||||||
|
/// `/` menu (Bot API `setMyCommands`).
|
||||||
|
pub async fn register_commands(bot: &Bot) -> Result<(), RequestError> {
|
||||||
|
let commands = Command::bot_commands();
|
||||||
|
bot.set_my_commands(commands.clone()).await?;
|
||||||
|
log::info!("registered {} commands", commands.len());
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
/// For locally produced media (encoded ugoira MP4) the thumbnail URL is a
|
/// For locally produced media (encoded ugoira MP4) the thumbnail URL is a
|
||||||
/// hotlink-protected remote URL Telegram may not fetch; let Telegram generate
|
/// hotlink-protected remote URL Telegram may not fetch; let Telegram generate
|
||||||
/// its own thumbnail instead.
|
/// its own thumbnail instead.
|
||||||
|
|||||||
@@ -44,6 +44,11 @@ async fn main() {
|
|||||||
|
|
||||||
let bot = Bot::from_env();
|
let bot = Bot::from_env();
|
||||||
|
|
||||||
|
// Register the command list with Telegram (client `/` menu).
|
||||||
|
if let Err(e) = handlers::register_commands(&bot).await {
|
||||||
|
log::warn!("failed to register commands: {e}");
|
||||||
|
}
|
||||||
|
|
||||||
log::info!(
|
log::info!(
|
||||||
"config: {} admin(s), edit-message TTL {}s",
|
"config: {} admin(s), edit-message TTL {}s",
|
||||||
CONFIG.admin_ids.len(),
|
CONFIG.admin_ids.len(),
|
||||||
|
|||||||
Reference in New Issue
Block a user