-3

ボットは今のところ動作していますが、問題はテキストしか送信できないことです。Bot API に写真や動画を送信する機能があることを確認しましたが、機能しません。誰かがそれを達成しましたか?yukuku/telebotの python ソースコードを使用しています

 elif text == '/image':
            img = Image.new('RGB', (512, 512))
            base = random.randint(0, 16777216)
            pixels = [base+i*j for i in range(512) for j in range(512)]  # generate sample image
            img.putdata(pixels)
            output = StringIO.StringIO()
            img.save(output, 'JPEG')
            reply(img=output.getvalue())

コードを変更しても何も起こりませんでした。

img = Image.open('image.png')
img.show()

私を助けてください。正しいコードが必要です。私の悪い英語でごめんなさい。

4

4 に答える 4

3

解決策は

elif 'Hi' in text:
reply(img=urllib2.urlopen('img url').read())

また

if text == 'help':
            reply(img=urllib2.urlopen('img url').read())
于 2015-10-01T21:02:14.803 に答える
2

写真を送信する前にoutput.seek(0)、カーソルをファイルの先頭に戻す必要があります。そうしないと、ゼロとして読み取られます

于 2016-11-01T21:00:29.273 に答える
0

質問はわかりました。答えは次のとおりです。

        def sendImageFromUrl(url):
            #this tweak added if request image failed
            headers = {'user-agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7'}
            response = requests.get(url, headers=headers)
            #response = requests.get(url)
            output = StringIO(response.content)
            img = Image.open(output)
            img.save(output, 'JPEG')
            resp = multipart.post_multipart(BASE_URL + 'sendPhoto', [
                ('chat_id', str(chat_id)),
                ('caption', 'Your Caption'),
            ], [
                ('photo', 'image.jpg', output.getvalue()),
            ])

サーバーに python module: requests があることを確認してください。

ここからダウンロードできます: https://pypi.python.org/pypi/requests#downloads

そして、このようにアプリケーションに入れます

/myapp/app.yaml
/myapp/main.py
/myapp/requests/packages/
/myapp/requests/__init__.py
/myapp/requests/adapters.py
etc...

クレジット: https://stackoverflow.com/a/17128168/1097372

main.py の 10 行目以降に入れる

import requests
from StringIO import StringIO
于 2015-09-07T15:13:05.083 に答える