Archived
1
0

Initial commit. Working.

This commit is contained in:
Shaun Setlock
2023-11-25 16:10:21 -05:00
parent fa8a3bd00a
commit dd3e6f619f
2 changed files with 72 additions and 0 deletions

59
main.py Normal file
View File

@@ -0,0 +1,59 @@
import os
import requests
from bs4 import BeautifulSoup
from telegram import Bot
# Function to load environment variables from .env file
def load_env():
with open('.env', 'r') as file:
for line in file:
if line.strip() and not line.startswith('#'):
key, value = line.strip().split('=', 1)
os.environ[key] = value
# Function to retrieve webpage contents and count occurrences of the keyword
def count_keyword_occurrences(url, keyword):
try:
# Retrieve webpage contents
response = requests.get(url)
response.raise_for_status() # Raise an HTTPError for bad responses
html_content = response.text
# Count occurrences of the keyword in the HTML content
occurrences = html_content.lower().count(keyword.lower())
return occurrences
except Exception as e:
print(f"An error occurred: {e}")
return 0
# Function to send a Telegram message
async def send_telegram_message(api_token, chat_id, message):
try:
bot = Bot(token=api_token)
response = await bot.send_message(chat_id=chat_id, text=message)
print(f"Telegram message sent successfully. Message ID: {response.message_id}")
except Exception as e:
print(f"An error occurred while sending Telegram message: {e}")
if __name__ == "__main__":
# Load environment variables from .env file
load_env()
# Retrieve variables from environment variables
url_to_check = os.getenv("URL_TO_CHECK")
telegram_api_token = os.getenv("TELEGRAM_API_TOKEN")
telegram_chat_id = os.getenv("TELEGRAM_CHAT_ID")
search_keyword = os.getenv("SEARCH_KEYWORD")
# Count occurrences of the keyword on the webpage
keyword_occurrences = count_keyword_occurrences(url_to_check, search_keyword)
# Define the message based on the occurrences
if keyword_occurrences > 0:
message = f"The word '{search_keyword}' was found {keyword_occurrences} times on {url_to_check}. Sending Telegram message."
# Send the message to Telegram
import asyncio
asyncio.run(send_telegram_message(telegram_api_token, telegram_chat_id, message))
else:
print(f"The word '{search_keyword}' was found {keyword_occurrences} times on {url_to_check}. Not sending Telegram message.")