@idkafksh

Ошибка — TypeError: 'function' object is not iterable?

Почему то у меня выдает ошибку при запуске скрипта в чем проблема?

import telebot
from telebot import TeleBot
import requests

bot = telebot.TeleBot('XXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')

@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, 'HELP - /command user|name')


@bot.message_handler(commands=["command"])
def f(message):
    f = (message.text.split()[1])

a = open("test.txt", "w+")
for x in f:
	x = x.replace("\n\r", "")
z = requests.get("https://ngrok.io/check?command="+x).text
if z == "valid":
	    bot.send_message(message.chat.id, x)

if __name__ == '__main__':
     bot.polling(none_stop=True)


ERROR:
Traceback (most recent call last):
  File "C:\Users\Admin\Desktop\main.py", line 17, in <module>
    for x in f:
TypeError: 'function' object is not iterable
  • Вопрос задан
  • 8453 просмотра
Пригласить эксперта
Ответы на вопрос 2
@galaxy
Прям скучно уже. Если тупой вопрос по питону, то можно не заглядывая сказать: или бота пишет или парсер...

Друзья, не пробовали что-нибудь про язык прочитать, на котором писать собрались?
Ответ написан
@PavelMos
Надо внести в FAQ перевод основных типов ошибок и этот FAQ принудительно показывать в форме создания вопроса. TypeError: 'function' object is not iterable - несоответствие типов, объект типа function не является итерируемым, его нельзя перебирать как список, словарь и пр.

1. Объявляется функция f, которая, кстати, ничего не возвращает.
def f(message):
    f = (message.text.split()[1])


2. начинается перебор f, как будто это перебираемая структура данных, однако, это функция.
for x in f...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы