Новый random при каждом обращении к боту

В тексте файла - URL-ссылки. Бот успешно отправляет в ответ рандомную ссылку из документа, но при повторном вызове команды "/start" ссылка не меняется. Как создать цикл, который будет постоянно менять рандомное значение при вызове команды ?

import telebot
import random

bot = telebot.TeleBot('0000000000:0000000000PFlZqtPNZtPF-oJYXkehL_Ijk')

choicefile=open("files.txt")
linelist=[]
for line in choicefile:
    linelist.append(line)
choice=random.choice(linelist)

@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, choice)

if __name__ == '__main__':
     bot.polling()

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

Автор решения: Максим

Строку choice=random.choice(linelist)

Необходимо перенести внутрь функции start_message

Ответ дан от пользователя @insolor из комментариев.

Я бы также порекомендовал занести код в функцию и обращаться к ей при необходимости, чтобы не засорять функцию ответа на сообщение '/start':

choice = ''

@bot.message_handler(commands=['start'])
def start_message(message):
    global choice     <------ Позволяет изменить переменную и прочитать её содержимое
    randie(message)   <------ Обращение к функции, обязательно передаём параметр message
    bot.send_message(message.chat.id, f'{choice}')    <------ Используем форматирование

def randie(message):  <------ Имя функции может быть любым
    global choice     <------ Здесь всё также
    choicefile=open("files.txt")
    linelist=[]
    for line in choicefile:
        linelist.append(line)
    choice=random.choice(linelist)
→ Ссылка
Автор решения: farkon00

Перенесите choice=random.choice(linelist) в start_message

→ Ссылка