Проблема с синтаксисом для telegram бота
Имеется скрипт, который используется для бота telegram (выводит информацию по запросу)
При запуске через shell все работает корректно, однако при размещении скрипта на VDS и попытке запуска скрипта через systemd появляется ошибка:
systemd[1]: bot.service: Unit entered failed state.
bot.service: Failed with result 'exit-code'.
При просмотре лога вижу следующее:
systemd[1]: bot.service: Service hold-off time over, scheduling restart.
systemd[1]: Stopped Telegram bot 'telegramb'.
systemd[1]: Started Telegram bot 'telegramb'.
python3[29683]: File "/usr/local/bin/bot/telegramb.py", line 35
python3[29683]: bot.send_message(message.chat.id, f'\u0426\u0435\u043d\u0430 <br/>\u0430\u043a\u0446\u0438\u0438 - {pricesale}\n'
python3[29683]:
python3[29683]: SyntaxError: invalid syntax
systemd[1]: bot.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: bot.service: Unit entered failed state.
systemd[1]: bot.service: Failed with result 'exit-code'.
Синтаксис строчки на которую указывает ошибка:
@bot.message_handler(commands=['price'])
def start_message(message):
bot.send_message(message.chat.id, f'Цена акции - {pricesale}\n'
f'Стоимость акции при покупке - {p2}\n'
f'Стоимость акции при продаже - {p1}\n'
f'Чистая прибыль - {p8}\n'
f'Налоги/комиссии - {p7}')
Юнит:
[Unit]
Description=Telegram bot 'telegramb'
After=syslog.target
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/bin/bot
ExecStart=/usr/bin/python3 /usr/local/bin/bot/telegramb.py
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
На одном из ресурсов вычитал, что вроде как есть различия в синтаксисе для запуска скриптов через shell и systemd. В связи с этим вопрос - как должен выглядеть синтаксис, чтобы он работал и на shell, и через systemd ?