No necesitas convertir a un float y luego a un int.
isdigit funciona si todos los caracteres de la cadena son digitos entre 0 y 9. Por lo tanto no puedes insertar negativos, ni flotantes.
de las lineas 29 a 42 solo haría un simple:
Código Python:
Ver originalm = ""
while not m.is_digit(): #No acepta reales o flotantes, no acepta negativos
m = raw_input("Mensage: ")
m = int(m)