вызываю главный скрипт wp.py
with open("registr.txt", "w+") as f:
content = f.read()
content = content.strip()
if content == "0":
...
elif content == "1": # почитай, что делает elif
...
else: # в файле не 0 и не 1
print('Неожиданное содержимое файла registr.txt!', repr(content))
c.execute(f"UPDATE users SET cash = {c.execute(f'SELECT cash FROM users WHERE id = {inter.author.id}') - row[1]} WHERE id = {inter.author.id}")
else if(word_11.slice(-1) != "ь")
лишнее совершенно. Если ты попал в else, значит, условие в первом if не выполнилось, а значит, слово не заканчивается на мягкий знак.
Единственный способ, которым процесс может "drop to background" - это форкнуть(склонировать с себя) процесс потомок, а потом завершиться самому. Как следствие, systemd видел, что запущенный процесс завершился, и решал "ну ок, служба завершилась, надо перезапускать".
Для таких случаев и нужен Type=forking - но он имеет смысл только если наша служба всегда себя форкает. Если мы можем попросить её не форкаться (в autossh это значит убрать флаг -f), то тогда проще так и сделать, и использовать Type=simple.