ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Python (https://forum.antichat.xyz/forumdisplay.php?f=205)
-   -   поиск строки по содержимому(telebot) (https://forum.antichat.xyz/showthread.php?t=1466598)

дмитрий куст 31.01.2023 20:00

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

хз даж как нормально обьяснить, но вот типо:

bot введите номер фильма

user 1067

bot 1067. Фильм про 6 негров

txt with data

...

1066. аризона дерьмо

1067. фильм про 6 негров

1068. я стрейф

...

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

эчпочмак 31.01.2023 21:39

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
=
'на смотри хуесос'
)
#вставляем путь к фильму и все


дмитрий куст 31.01.2023 23:01

Цитата:

Сообщение от эчпочмак

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
=
'на смотри хуесос'
)
#вставляем путь к фильму и все



мне не сам видос нужен) а ток поиск нужной строки из заранее загруженного файла

эчпочмак 31.01.2023 23:07

Цитата:

Сообщение от дмитрий куст

мне не сам видос нужен) а ток поиск нужной строки из заранее загруженного файла

из файла хз). могу если в переменную все закинешь

дмитрий куст 31.01.2023 23:39

Цитата:

Сообщение от эчпочмак

из файла хз). могу если в переменную все закинешь

lets try

xionerme 31.01.2023 23:46

https://forum.antichat.xyz/attachmen...2e9e939f7d.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

дмитрий куст 01.02.2023 01:48

Цитата:

Сообщение от xionerme

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

бля убедил) попробую себя в айограме, почитал что вроде как он пизже чем телебот, но и сложнее. новичок в питоне, смогу разобраться?

дмитрий куст 01.02.2023 10:49

Цитата:

Сообщение от xsattary

на гите видел фулл исходник такого бота на питоне, упустил ссылку

максим карамелькин дизреспект

verseti 04.02.2023 17:58

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 негров


Время: 21:01