我正在实施一个简单的机器人,他应该向我的chat_id
发送一些照片和视频。
好吧,我使用的是python,这是脚本
import sys
import time
import random
import datetime
import telepot
def handle(msg):
chat_id = msg['chat']['id']
command = msg['text']
print 'Got command: %s' % command
if command == 'command1':
bot.sendMessage(chat_id, *******)
elif command == 'command2':
bot.sendMessage(chat_id, ******)
elif command == 'photo':
bot.sendPhoto(...)
bot = telepot.Bot('*** INSERT TOKEN ***')
bot.message_loop(handle)
print 'I am listening ...'
while 1:
time.sleep(10)
在第bot.sendphoto
行中,我会插入路径和图像的chat_id
,但没有任何反应。
我哪里错了?
感谢
答案 0 :(得分:4)
只需使用 Requests 库即可:
def send_photo(chat_id, file_opened):
method = "sendPhoto"
params = {'chat_id': chat_id}
files = {'photo': file_opened}
resp = requests.post(api_url + method, params, files=files)
return resp
send_photo(chat_id, open(file_path, 'rb'))
答案 1 :(得分:2)
我也尝试过使用请求从python发送。也许它的答案很晚,但是把它留给像我这样的其他人......也许它会来使用..
我跟subprocess
一样成功了:
def send_image(botToken, imageFile, chat_id):
command = 'curl -s -X POST https://api.telegram.org/bot' + botToken + '/sendPhoto -F chat_id=' + chat_id + " -F photo=@" + imageFile
subprocess.call(command.split(' '))
return
答案 2 :(得分:2)
import telepot
bot = telepot.Bot('______ YOUR TOKEN ________')
# here replace chat_id and test.jpg with real things
bot.sendPhoto(chat_id, photo=open('test.jpg', 'rb'))
答案 3 :(得分:1)
您可以使用以下几行:
.container-top {
position: relative;
height: 310px;
padding: 0 20px;
}
.container-left-video {
margin: 0;
float: left;
}
.container-right-video {
float: right;
}
答案 4 :(得分:1)
我在使用python-telegram-bot来发送图像和标题时使用了以下命令:
SELECT * FROM user_place;
答案 5 :(得分:0)
你需要传递2个参数
bot.sendPhoto(chat_id, 'URL')
答案 6 :(得分:0)