Как упростить написание действия?

Я решил написать телеграмм бота, вот захотелось сделать обратную связь. Chat GРT выдает вот такой код, тут ещё игра крестики нолики в двух вариантах и отправка по ссылке и как раз отправка сообщений администратору. Как упростить отправку сообщения администратору и его ответ?

import telebot
from telebot import types
import random

bot = telebot.TeleBot('')
things = ['Камень', 'Ножницы', 'Бумага']
ADMIN_CHAT_ID = 799888927
user_messages = {}


@bot.message_handler(commands=['start'])
def handle_start(message):
    keyword = types.ReplyKeyboardMarkup(row_width=3, resize_keyboard=True)
    button1 = types.KeyboardButton('Камень')
    button2 = types.KeyboardButton('Ножницы')
    button3 = types.KeyboardButton('Бумага')
    keyword.add(button1, button2, button3)

    bot.send_message(message.chat.id, 'Выбери один из вариантов!', reply_markup=keyword)


@bot.message_handler(commands=['forward'])
def handle_forward_command(message):
    bot.reply_to(message, 'Отправьте сообщение, которое хотите переслать')
    bot.register_next_step_handler(message, save_user_message)


def save_user_message(message):
    user_messages[message.chat.id] = message

    forward = types.InlineKeyboardMarkup(row_width=1)
    bt1 = types.InlineKeyboardButton('Для автора бота', callback_data=f'forward_{ADMIN_CHAT_ID}')
    forward.add(bt1)

    bot.send_message(message.chat.id, 'Выберите, кому отправить сообщение', reply_markup=forward)


@bot.callback_query_handler(func=lambda call: call.data.startswith('forward_'))
def send_author_message(call):
    receiver_chat_id = int(call.data.split('_')[1])
    user_message = user_messages.pop(call.message.chat.id, None)

    if user_message:
        bot.forward_message(receiver_chat_id, user_message.chat.id, user_message.message_id)
        bot.send_message(user_message.chat.id, f'Ваше сообщение "{user_message.text}" было успешно отправлено!')
        bot.send_message(receiver_chat_id, 'Для ответа напишите свое сообщение')
        bot.register_next_step_handler(call.message, send_user_reply, receiver_chat_id, user_message.chat.id)


def send_user_reply(message, receiver_chat_id, user_chat_id):
    bot.send_message(user_chat_id, f'Администратор ответил на ваше сообщение:\n{message.text}')


@bot.message_handler(commands=['newgame'])
def start(message):
    answer = types.InlineKeyboardMarkup(row_width=3)
    bt1 = types.InlineKeyboardButton("Камень", callback_data='Камень')
    bt2 = types.InlineKeyboardButton("Ножницы", callback_data='Ножницы')
    bt3 = types.InlineKeyboardButton("Бумага", callback_data='Бумага')
    answer.add(bt1, bt2, bt3)
    bot.send_message(message.chat.id, 'Выбери что-то!', reply_markup=answer)


@bot.message_handler(commands=['url'])
def url_inline(message):
    url = types.InlineKeyboardMarkup(row_width=1)
    bt1 = types.InlineKeyboardButton('Ссылка',
                                     url='https://forum.mordor-rp.com/index.php?members/kirill-veselov.70053/')
    url.add(bt1)
    bot.send_message(message.chat.id, 'Нажми на кнопку для перехода на сайт', reply_markup=url)


@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
    thing = random.choice(things)
    if call.data == 'Ножницы':
        if thing == 'Ножницы':
            bot.send_message(call.message.chat.id, f'Ничья. Бот выбрал {thing}. Выбери снова!')
        elif thing == 'Камень':
            bot.send_message(call.message.chat.id, f'Ты проиграл! Бот выбрал {thing}. Выбери снова!')
        elif thing == 'Бумага':
            bot.send_message(call.message.chat.id, f'Ты выиграл! Бот выбрал {thing}. Выбери снова!')
    elif call.data == 'Бумага':
        if thing == 'Бумага':
            bot.send_message(call.message.chat.id, f'Ничья. Бот выбрал {thing}. Выбери снова!')
        elif thing == 'Камень':
            bot.send_message(call.message.chat.id, f'Ты проиграл! Бот выбрал {thing}. Выбери снова!')
        elif thing == 'Ножницы':
            bot.send_message(call.message.chat.id, f'Ты выиграл! Бот выбрал {thing}. Выбери снова!')
    elif call.data == 'Камень':
        if thing == 'Камень':
            bot.send_message(call.message.chat.id, f'Ничья. Бот выбрал {thing}. Выбери снова!')
        elif thing == 'Ножницы':
            bot.send_message(call.message.chat.id, f'Ты проиграл! Бот выбрал {thing}. Выбери снова!')
        elif thing == 'Бумага':
            bot.send_message(call.message.chat.id, f'Ты выиграл! Бот выбрал {thing}. Выбери снова!')


@bot.message_handler(content_types=['text'])
def handle_message(message):
    thing = random.choice(things)
    if message.text == 'Камень':
        if thing == message.text:
            bot.reply_to(message, 'Ничья. Выбери снова предмет!')
        elif thing == 'Бумага':
            bot.reply_to(message, 'Я выйграл. Выбери снова предмет!')
        elif thing == 'Ножницы':
            bot.reply_to(message, 'Ты выйграл. Выбери снова предмет!')
    elif message.text == 'Ножницы':
        if thing == message.text:
            bot.reply_to(message, 'Ничья. Выбери снова предмет!')
        elif thing == 'Бумага':
            bot.reply_to(message, 'Я выйграл. Выбери снова предмет!')
        elif thing == 'Камень':
            bot.reply_to(message, 'Ты выйграл. Выбери снова предмет!')
    elif message.text == 'Бумага':
        if thing == message.text:
            bot.reply_to(message, 'Ничья. Выбери снова предмет!')
        elif thing == 'Ножницы':
            bot.reply_to(message, 'Я выйграл. Выбери снова предмет!')
        elif thing == 'Камень':
            bot.reply_to(message, 'Ты выйграл. Выбери снова предмет!')
    else:
        bot.reply_to(message, 'Че ты написал? Я не ебу')


bot.polling(non_stop=True)

Ответы (0 шт):