2017-10-05 64 views
2

這是我的代碼:PyTeleBot不將圖像發送到用戶的第一個用戶後

def paid(first, last, uid, contribution, position, number, description, img): 
    for admin in const.admins: 
     sleep(10) 
     bot.send_photo(admin, img) 
     sleep(1) 
     bot.send_message(admin, '✅Пользователь {0} {1} ID {2} оплатил заказ "рулетка".' 
           '\nВзнос: {3} руб.' 
           '\nТовар {4} № {5} удален из резерва.' 
           '\n{6}'.format(first, 
               last, 
               uid, 
               contribution, 
               position, 
               number, 
               description)) 

根據這個想法,代碼應該發送到每個管理員IMG的照片,但只將其發送到首個管理員,換了別人也給出了一個錯誤:

telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The server returned HTTP 400 Bad Request. Response body: [b'{"ok":false,"error_code":400,"description":"Bad Request: file must be non-empty"}'] " 2017-10-05 13:09:18,537 (init.py:292 MainThread) ERROR - TeleBot: "A request to the Telegram API was unsuccessful. The server returned HTTP 400 Bad Request. Response body: [b'{"ok":false,"error_code":400,"description":"Bad Request: file must be non-empty"}']

此外,可變IMG繼續<_io.BufferedReader name='img.jpg'>

  1. 爲什麼與c ode不想將img發送給第二個管理員?
  2. 如何將圖像發送給第二個管理員?

回答

0

我假設你想for循環遍歷所有不同的圖像?在這種情況下,你需要定義它不止一次

你看到你在這裏所做的事情意味着所有的循環一次又一次地訪問所有這裏給出的信息,沒有任何變化。 for循環不會自動爲您更新這些變量,一旦您使用以下命令創建它們:

def paid(first, last, uid, contribution, position, number, description, img): 
+0

不,我使用一個圖像循環。事實是,循環不希望發送相同的圖像兩次或更多 –

相關問題