Size: a a a

pyTelegramBotAPI.talks.ru

2017 October 04

P

Pyos in pyTelegramBotAPI.talks.ru
sqlite python уроки
источник

P

Pyos in pyTelegramBotAPI.talks.ru
лучше объясните мне
источник

P

Pyos in pyTelegramBotAPI.talks.ru
как запустить из другого модуля
источник

P

Pyos in pyTelegramBotAPI.talks.ru
у меня не работает
источник

P

Pyos in pyTelegramBotAPI.talks.ru
from directory import bot as module_bot

module_bot.bot.polling(none_stop=True)
источник

P

Pyos in pyTelegramBotAPI.talks.ru
не работает
источник

P

Pyos in pyTelegramBotAPI.talks.ru
чому
источник

M

MelesMeles in pyTelegramBotAPI.talks.ru
Pyos
На компе запускается?
Ну вообще надо на каком-то сервере. Но допустим на компе
источник

P

Pyos in pyTelegramBotAPI.talks.ru
ну просто перед тем, как тащить на сервер - лучше на компе проверить, чтобы потом быть увереным
источник

P

Pyos in pyTelegramBotAPI.talks.ru
https://groosha.gitbooks.io/telegram-bot-lessons/content/chapter1.html
вот по этому примеру можно сделать себе простенького бота
источник

M

Maxim in pyTelegramBotAPI.talks.ru
Pyos
sqlite python уроки
Нигде не сказано, что про использовании телебот, внутрк хендлера не получиться использовать запросы
источник

P

Pyos in pyTelegramBotAPI.talks.ru
хэндлер - это просто декоратор
источник

P

Pyos in pyTelegramBotAPI.talks.ru
не?
источник

M

Maxim in pyTelegramBotAPI.talks.ru
telebotиспользует threading, функции с декоратором message_handler вызываются из потока на его тредпуле. Курсор sqlite3, созданный в конструкторе db из главного потока, не может быть использован в вызове send_welcome -> user_register -> db.query из другого потока.

Перенесите создание курсора cur = self.con.cursor() в метод query и сделайте его локальной переменной.
Или кешируйте создаваемые курсоры в threading.local, если производительность в этой точке критична (не думаю, что это так, исходя из задач бота).
источник

M

Maxim in pyTelegramBotAPI.talks.ru
создавать локальные курсок не камильфо, поэтому переменные вытаскивать их хандлера и записывать, проверил - работает
источник

M

Maxim in pyTelegramBotAPI.talks.ru
внутри хендлера ошибка: sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in that same thread.The object was created in thread id 7364 and this is thread id 5584
источник

P

Pyos in pyTelegramBotAPI.talks.ru
Так это не при использовании телебот, просто бот по умолчании 2 потока использует.

Ты можешь вообще объединить все в один поток, как-то можно было запускать бота в одном потоке.
источник

P

Pyos in pyTelegramBotAPI.talks.ru
я просто таскаю отдельный модуль для работы с базой данных, с хэндлера перенаправляю запросы туда, и все хорошо.
источник

P

Pyos in pyTelegramBotAPI.talks.ru
кто подскажет быстро, как в threading передаются kwargs к таргет функции?
источник

P

Pyos in pyTelegramBotAPI.talks.ru
все, я нашел
источник