Tôi tìm thấy một giải pháp! Máy khách chính thức có thể không cho phép nó (tất cả các đối số dòng lệnh đã biết là tài liệu không chính thức đây ), nhưng đối với Linux và Mac (và có thể cả hệ thống con Linux trên Windows), có một giao diện dòng lệnh không chính thức cho Telegram có tên là "tg": https://github.com/vysheng/tg
Nó không đề cập đến trong mô tả của nó rằng nó cũng có thể gửi tệp, nhưng trong một vấn đề Github ai đó đã viết rằng có send_file
chức năng. Nói chung, nó không phải là tài liệu quá tốt, nhưng gọi nó với --help
và nhập help
bên trong chương trình cung cấp rất nhiều thông tin, phần còn lại có thể được tìm ra bằng cách thay đổi các tham số và thử những thứ khác nhau.
Đây là giải pháp tôi nghĩ ra theo cách đó:
Chuẩn bị
- Cài đặt tg như tập tin readme nói. Nó không hoạt động ngay với tôi trên Debian do lỗi, nhưng như đã nói trong bình luận báo cáo lỗi này , cài đặt
libssl1.0-dev
là một giải pháp cho lỗi đó: Thực thi sudo apt install libssl1.0-dev
giữa ./configure
và make
.
- Đăng nhập bằng tài khoản Telegram của bạn:
bin/telegram-cli
để bắt đầu chương trình tương tác, nhập số điện thoại, nhập mã đăng nhập. Tôi đã nhập số điện thoại của mình bắt đầu bằng +49
và nó đã hoạt động, có lẽ nó là bắt buộc, tôi không biết.
- Bây giờ sử dụng một ứng dụng khách Telegram khác để gửi tin nhắn trong cuộc trò chuyện đích (hoặc thay vào đó nhận được tin nhắn ở đó). Điều đó thêm tên của trò chuyện vào danh sách trò chuyện nội bộ của chương trình. Nếu nhiều cuộc trò chuyện có cùng tên tồn tại, nó dường như chọn một cuộc trò chuyện được thêm gần đây nhất. Tôi chưa tìm được cách nhắn tin trò chuyện bằng ID.
Đó là cho thiết lập, quit
thoát khỏi chương trình
Tải tệp lên theo chương trình
Bây giờ các tập tin có thể được tải lên bằng cách đưa ra một send_file
lệnh cho chương trình với --execute
, làm cho nó thực thi lệnh đó và sau đó tự động thoát:
/path/to/tg/bin/telegram-cli --exec 'send_file <chat> <filename>'
<chat>
là tên của cuộc trò chuyện.
<filename>
là đường dẫn đến tập tin.
/path/to/tg
nên rõ ràng
Ví dụ sử dụng
Tôi sẽ sử dụng một cái gì đó như thế này để tải lên bản sao lưu thư mục Google Drive của mình lên Telegram sau khi tôi đã tạo nó với p7zip:
for filename in ~/drive_backup/drive.zip.*; do ~/tg/bin/telegram-cli --exec 'send_file Backup_chat '"$filename"; done
Điều này tải lên tất cả các tệp có tên bắt đầu bằng " drive.zip.
"(.001, .002, v.v.) trong thư mục ~/drive_backup
vào cuộc trò chuyện Telegram "Backup_chat".