но вообще, на мой взгляд, странное решение. Вам нужно срандомить событие, зачем исключения? Исключения - исключительная ситуация, тут же вполне нормальное поведение.
def one_day():
dice = randint(1, 13)
if dice == 1:
raise IamGodError('ой ой')
elif dice == 2:
raise CarCrashError('бип бип')
...
else:
return dice-6
# а затем уже в цикле вызывается этот рандомизатор типа такого
total = 0
while True:
total += one_day()
def get_div(n):
if n%2:
c = n//2
else:
c = n//2-1
if c%2 == 0:
c -=1
return c, n-c
2. Этот метод предполагает ввод команды вместе с последующим городом, т.е. так:
/city Москва
Если же хотите делать раздельно (сначала писать /city, затем следующим сообщением вводить город), то как я написал, используйте register_next_step_handler, с ним полно примеров, в т.ч. на этом сайте.