尝试发送电报Bot时出现索引错误

时间:2020-03-25 00:55:37

标签: python for-loop indexing telegram-bot

在我的代码中,我想将列表内的多个字符串发送给具有特定chat_id的某些用户,并且我使用1进行循环,并且由于索引中的我的chat_id列表中的元素少于字符串列表,因此我收到了索引错误。

        def sendTextMessage(self):
        for i in range(len(self.chat_id) + 10):
            link = random.choices(importinks())
            url = 'https://api.telegram.org/botMY_BOT_TOKEN/sendMessage?chat_id={}&text={}'.format(self.chat_id[i],link)
            r = requests.get(url)
            time.sleep(2)
            print(r.status_code)
            print(self.chat_id)

有人可以告诉我如何在不使用嵌套for循环的情况下解决此问题吗?

1 个答案:

答案 0 :(得分:1)

如果您要向每个用户ID发送15条随机消息,则应使用如下所示的循环:

for id in self.chat_id:    
    for i in range(15):
            link = random.choices(importinks())
            url = 'https://api.telegram.org/botMY_BOT_TOKEN/sendMessage?chat_id={}&text={}'.format(id,link)
            r = requests.get(url)
            time.sleep(2)
            print(r.status_code)
            print(self.chat_id)

除了减少发送的随机链接的数量外,我不确定该如何处理时间问题。