Ответы пользователя по тегу Telegram
  • Как сделать асинхронную рассылку в telebot python?

    @mkone112
    Начинающий питонист.
    Попробуй запихнуть вызовы в потоки, а может gevent удастся приделать, иначе наверное только делать асинхронный форк telebot, либо вообще его манки патчить и реализовать асинхронность на коллбеках. Но это конечно если хочется развлечься.
    Ответ написан
    Комментировать
  • Что сделать чтобы убрать ошибки?

    @mkone112
    Начинающий питонист.
    У тебя:
    1) Unresolved reference 'add_to_subs'
    2) Unresolved reference 'username'
    Не за что. Обращайся.
    Ответ написан
    Комментировать
  • При запуске вылетает непонятная мне ошибка, что это?

    @mkone112
    Начинающий питонист.
    Здравствуйте затрудняюсь опознать ошибку, при запуске вылетает непонятная мне ошибка, что это?

    Я как специалист могу сказать что все дело в том что:
    ImportError: cannot import name 'InlineKeyboardMarkup' from 'telebot'

    рад помочь, обращайся!

    Ну и пробелы и кириллица в путях...фууу...
    Ответ написан
  • Не получается решить проблему AttributeError. В чем я ошибся?

    @mkone112
    Начинающий питонист.
    Нет ошибки -> нет проблемы -> нет решения.
    Ответ написан
    6 комментариев
  • Как сделать кнопку которая будет сохранять себя типо on/off?

    @mkone112
    Начинающий питонист.
    Я не работал с телеграмом, но безотносительно него(и даже Python) существует множество способов сохранения состояния:
    • Глобальные переменные:
      button_pressed = False
      
      
      			def press_button():
      				global button_pressed
      				if button_pressed:
      					button_pressed = False
      				else:
      					button_pressed = True
      
      					
      			press_button()
      			button_pressed    # True
      			press_button()
      			button_pressed()  # False


    • Атрибуты функций:
      def press_button():
      			if hasattr(press_button, 'pressed'):
      				press_button.pressed = not press_button.pressed
      			else:
      				press_button.pressed = True
      			return press_button.pressed
      
      
      		press_button() 			# True
      		# Значение атрибута доступно через dot-notation
      		press_button.pressed 	# True
      		press_button() 			# False


    • Изменяемые аргументы по умолчанию:
      def press_button(*, _pressed=[False]):
      			_pressed[0] = not _pressed[0]
      			return _pressed[0]
      		
      		
      		press_button()	# True
      		press_button()  # False


    • Замыкания:
      def button_factory():
      			pressed = False
      			
      			def press_button():
      				nonlocal pressed
      				pressed = not pressed
      				return pressed
      
      			return press_button
      		
      		
      		button = button_factory()
      		button()	# True
      		button()	# False


    • Самый очевидный это классы:
      class Button:
      		def __init__(self):
      			self._pressed = False
      		
      		def __call__(self):
      			return self._press()
      		
      		def _press(self):
      			self._pressed = not self._pressed
      			return self._pressed
      	
      	
      	button = Button()
      	button()	# True
      	button()	# False


    • etc...


    Буду рад если мой вопрос поправит/дополнит реальными примерами кто-то более разумный.
    UPD: Привел тривиальные примеры, так как мой ответ неожиданно показался автору полезным.(CAUTION: возможно это жуткий говнокод - тк программист из меня такой-же.)
    Ответ написан
    Комментировать