Skip to content

Commit 63e303a

Browse files
authored
Update bot.py
1 parent 6ebaec1 commit 63e303a

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

bot.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,28 @@ async def find(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
1010
if update.message and update.message.text:
1111
workbook = load_workbook(XLSX_FILE_PATH)
1212
sheet = workbook.active
13+
headers = get_headers(sheet)
14+
keywords_column = headers.get('Keywords')
15+
links_column = headers.get('Link')
1316
response_message = ''
1417

15-
for row in sheet.iter_rows():
16-
parsed_message = update.message.text.replace("/find", "").strip()
17-
keywords = str(row[0].value).split(";")
18-
keyword_match = any(element in parsed_message for element in keywords)
19-
if keyword_match:
20-
response_message += row[1].value
18+
if keywords_column and links_column:
19+
for row in sheet.iter_rows():
20+
parsed_message = update.message.text.replace("/find", "").strip()
21+
keywords = str(row[keywords_column - 1].value).replace(" ", "").split(";")
22+
keyword_match = any(element in parsed_message for element in keywords)
23+
if keyword_match:
24+
response_message += row[links_column - 1].value
2125

2226
await update.message.reply_text(f"{response_message}")
2327

28+
def get_headers(sheet: any ) -> dict:
29+
headers = {}
30+
for col_idx, cell in enumerate(sheet[1], start=1):
31+
headers[cell.value] = col_idx
32+
33+
return headers
34+
2435
def main():
2536
try:
2637
app = ApplicationBuilder().token(TELEGRAM_BOT_TOKEN).build()

0 commit comments

Comments
 (0)