You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Bash脚本向telegram-cli发送命令批量添加联系人

我来帮你搞定这个批量添加联系人的需求!要从Bash脚本给telegram-cli发送命令,有两种实用的方法,我给你详细拆解一下:

方法1:通过管道(Pipe)批量输入命令

telegram-cli支持从标准输入读取命令,所以我们可以用Bash的while循环读取手机号文件的每一行,然后把生成的add_contact命令通过管道传给telegram-cli执行。

示例脚本如下:

#!/bin/bash
# 替换成你的手机号文件路径,要求每行一个手机号(带国家代码,比如+8613xxxxxxxxx)
PHONE_FILE="phone_numbers.txt"

# 先检查文件是否存在
if [[ ! -f "$PHONE_FILE" ]]; then
    echo "错误:手机号文件 $PHONE_FILE 不存在!"
    exit 1
fi

# 启动telegram-cli并通过管道传入命令
while read -r phone; do
    # 跳过空行
    if [[ -z "$phone" ]]; then
        continue
    fi
    # 生成add_contact命令,这里把手机号同时作为 firstName 和 lastName,你可以自定义
    echo "add_contact $phone $phone ''"
done < "$PHONE_FILE" | telegram-cli -W

说明:-W参数是让telegram-cli以交互模式启动但等待输入,这样管道里的命令才能被正确执行。第一次运行telegram-cli需要扫码登录,之后会话会自动保存。

方法2:使用telegram-cli的--exec参数批量执行

这个方法会先把所有add_contact命令拼接成一个字符串,然后通过--exec参数一次性传给telegram-cli执行,适合大规模批量操作。

示例脚本:

#!/bin/bash
PHONE_FILE="phone_numbers.txt"

if [[ ! -f "$PHONE_FILE" ]]; then
    echo "错误:手机号文件 $PHONE_FILE 不存在!"
    exit 1
fi

# 拼接所有add_contact命令,用分号分隔
COMMANDS=""
while read -r phone; do
    if [[ -n "$phone" ]]; then
        COMMANDS+="add_contact $phone $phone '';"
    fi
done < "$PHONE_FILE"

# 执行批量命令
telegram-cli -W --exec "$COMMANDS"
关键注意事项
  • 手机号格式必须正确:一定要带国家代码前缀(比如+86、+1),否则Telegram无法识别该号码。
  • 自定义联系人信息:你可以把脚本里的$phone替换成自定义的姓名,比如echo "add_contact $phone '新联系人' ''"。
  • 避免重复添加:如果某个号码已经是你的联系人,telegram-cli会返回错误提示,但不会中断后续命令执行。

内容的提问来源于stack exchange,提问作者user8129861

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:27:58