Ну судя по ошибке - telebot не может найти файл сертификата SSL.
Дело все в том, что при запуске exe, созданного pyinstaller, сначала все содержимое распаковывается во временную папку, а затем запускается из нее, соответственно путь другой.
Поэтому что можно сделать в вашем случае:
файл SSL добавить в упаковку pyinstaller, с помощью опции --add-data. Пример:
pyinstaller -F --add-data ssl;. main.py
Где:
ssl - файл сертификата;
. - точка означает текущий каталог, это если файл сертификата лежит в корне со скриптом.
Затем в самом скрипте надо добавить следующий код:
import os
import sys
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
if getattr(sys, 'frozen', False):
base_path = sys._MEIPASS
else:
base_path = os.getcwd()
return os.path.join(base_path, relative_path)
Затем в том коде, где вы передаете данный файл боту, надо задавать его через данную функцию.