поиск строки по содержимому(telebot)

дмитрий куст

Участник
Автор темы
79
27
учусь питону, а именно телеботу. видели видеоролики в тт с переходником на тг бота где по номеру фильм ищешь? так вот, хочу сделать "типо исходника" таких ботов, но нужна функция чтобы выдавать ответ по схожести запроса от юзера.
хз даж как нормально обьяснить, но вот типо:

bot введите номер фильма
user 1067
bot 1067. Фильм про 6 негров

txt with data
...
1066. аризона дерьмо
1067. фильм про 6 негров
1068. я стрейф
...

кто шарит подскажите) только учусь этой херне
 

эчпочмак

Потрачен
785
334
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Python:
@bot.message_handler() #ебашим какую-то хуйню, забыл как называется))0))
def get_user_text(message): #ебашим функцию
    if message.text == 'фильм про 6 негров': #типа если юзер еблыга отправил нам сообщение
        bot.send_video(m.s.id, c:\ягей\бубубубыаыаы\film 6 niggers.mp4, caption='на смотри хуесос') #вставляем путь к фильму и все
 

дмитрий куст

Участник
Автор темы
79
27
Python:
@bot.message_handler() #ебашим какую-то хуйню, забыл как называется))0))
def get_user_text(message): #ебашим функцию
    if message.text == 'фильм про 6 негров': #типа если юзер еблыга отправил нам сообщение
        bot.send_video(m.s.id, c:\ягей\бубубубыаыаы\film 6 niggers.mp4, caption='на смотри хуесос') #вставляем путь к фильму и все
мне не сам видос нужен) а ток поиск нужной строки из заранее загруженного файла
 

эчпочмак

Потрачен
785
334
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

xionerme

Потрачен
747
258
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1675230374976.png


12390:
from aiogram import Bot, Dispatcher, executor, types

bot = Bot(token='token')
dp = Dispatcher(bot)

@dp.message_handler(commands=['start'])
async def send_welcome(message: types.Message):
  if message.chat.type == 'private':
    await message.reply('Привет! Введи номер фильма.')

@dp.message_handler()
async def films(message: types.Message):
    if message.chat.type == 'private':
        with open('films.txt', 'r', encoding='utf-8') as f:
            lines = f.readlines()
            local = int(message.text)
            await message.reply(lines[local])

if __name__ == "__main__":
    executor.start_polling(dp, skip_updates=True)

aiogram > telebot
 

Вложения

  • films.txt
    131 байт · Просмотры: 6

дмитрий куст

Участник
Автор темы
79
27
Посмотреть вложение 188080

12390:
from aiogram import Bot, Dispatcher, executor, types

bot = Bot(token='token')
dp = Dispatcher(bot)

@dp.message_handler(commands=['start'])
async def send_welcome(message: types.Message):
  if message.chat.type == 'private':
    await message.reply('Привет! Введи номер фильма.')

@dp.message_handler()
async def films(message: types.Message):
    if message.chat.type == 'private':
        with open('films.txt', 'r', encoding='utf-8') as f:
            lines = f.readlines()
            local = int(message.text)
            await message.reply(lines[local])

if __name__ == "__main__":
    executor.start_polling(dp, skip_updates=True)

aiogram > telebot
бля убедил) попробую себя в айограме, почитал что вроде как он пизже чем телебот, но и сложнее. новичок в питоне, смогу разобраться?
 
  • Нравится
Реакции: xionerme

verseti

Новичок
22
10
ChatGPT в помощь:
Для решения этой задачи вам нужно использовать алгоритм строкового сравнения. Он позволяет оценить похожесть двух строк и позволяет программе находить наиболее подходящую строку в заданном списке. В Python есть библиотека difflib, которая предоставляет функции для сравнения строк. Вот пример использования этой библиотеки:

# Импортируем библиотеку
import difflib

# Создаем список строк, которые будем сравнивать
list_of_strings = ["1066. аризона дерьмо", "1067. фильм про 6 негров", "1068. я стрейф"]

# Получаем запрос от пользователя
user_input = "1067"

# Ищем наиболее подходящую строку из списка
best_match = difflib.get_close_matches(user_input, list_of_strings)[0]

# Выводим результат
print(best_match)

# Результат: 1067. фильм про 6 негров
 
  • Нравится
Реакции: дмитрий куст