Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions main/cli/serial_cli.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,13 @@ static struct {
struct arg_end *end;
} tg_token_args;

/* --- tg_send command --- */
static struct {
struct arg_str *chat_id;
struct arg_str *text;
struct arg_end *end;
} tg_send_args;

static int cmd_set_tg_token(int argc, char **argv)
{
int nerrors = arg_parse(argc, argv, (void **)&tg_token_args);
Expand All @@ -76,6 +83,20 @@ static int cmd_set_tg_token(int argc, char **argv)
return 0;
}

static int cmd_tg_send(int argc, char **argv)
{
int nerrors = arg_parse(argc, argv, (void **)&tg_send_args);
if (nerrors != 0) {
arg_print_errors(stderr, tg_send_args.end, argv[0]);
return 1;
}

esp_err_t err = telegram_send_message(tg_send_args.chat_id->sval[0],
tg_send_args.text->sval[0]);
printf("tg_send status: %s\n", esp_err_to_name(err));
return (err == ESP_OK) ? 0 : 1;
}

/* --- set_feishu_creds command --- */
static struct {
struct arg_str *app_id;
Expand Down Expand Up @@ -840,6 +861,20 @@ esp_err_t serial_cli_init(void)
};
esp_console_cmd_register(&tg_token_cmd);

/* tg_send */
tg_send_args.chat_id = arg_str1(NULL, NULL, "<chat_id>", "Telegram chat ID");
tg_send_args.text = arg_str1(NULL, NULL, "<text>", "Text message (quote if contains spaces)");
tg_send_args.end = arg_end(2);

esp_console_cmd_t tg_send_cmd = {
.command = "tg_send",
.help = "Send Telegram text: tg_send <chat_id> \"hello\"",
.func = &cmd_tg_send,
.argtable = &tg_send_args,
};
esp_console_cmd_register(&tg_send_cmd);


/* set_feishu_creds */
feishu_creds_args.app_id = arg_str1(NULL, NULL, "<app_id>", "Feishu App ID");
feishu_creds_args.app_secret = arg_str1(NULL, NULL, "<app_secret>", "Feishu App Secret");
Expand Down
Loading