Python实现Viber批量发送100条消息报错:TextMessage含未知参数'to'
解决Viber批量发送消息的TypeError问题
错误原因
TextMessage的构造函数并不接受to或receiver参数,接收者ID是传递给发送方法的参数,而非消息对象本身。同时你误用了send_messages(复数)方法,单个消息发送应该使用send_message(单数)方法,send_messages多用于批量发送多条消息。
修正后的代码
import time from viberbot import Api from viberbot.api.bot_configuration import BotConfiguration from viberbot.api.messages.text_message import TextMessage viber = Api(BotConfiguration( name='MyBot', avatar='http://viber.com/avatar.jpg', auth_token='*******************************' )) message = "Hello" recipient = "1234567890" for i in range(100): # TextMessage仅需传入text参数,无需指定接收者 text_message = TextMessage(text=message) # 使用send_message方法,第一个参数为接收者ID,第二个为消息对象 viber.send_message(recipient, text_message) time.sleep(60)
批量发送多条消息的用法(可选)
如果需要一次性给同一接收者发送多条消息,send_messages的正确用法如下:
# 构造多条消息组成的列表 messages = [ TextMessage(text="第一条消息"), TextMessage(text="第二条消息") ] # 第一个参数是接收者ID,第二个是消息列表 viber.send_messages(recipient, messages)
内容的提问来源于stack exchange,提问作者Blnd Sleman Majrum
相关产品推荐
相关产品推荐

