Включить голову и прочитать уже документацию по
fetchone().
Fetches the next row of a query result set, returning a single sequence, or None when no more data is available.
В get_signup() не находит такое значение в базе, в выдаче 0 строк, так что fetchone() возвращает None, который ты ничтоже сумнящеся скармливаешь циклу for.
И вообще у тебя фигня творится с методом get_signup().
С чего ты взял, что он вернёт строку "setnickname"?
Зачем ты делаешь for row in result если result - это результат вызова fetchone(), т.е. либо строка, либо None?
Почему при получении сообщения не предусмотрено что пользователя может тупо не быть в базе? Например, он не писал /start, а сразу написал сообщение, или базу потерли, или ещё что.