Skip to main content

A powerful webhook handler for Discord and Slack

Project description

HookMe

A powerful and easy-to-use Python package for handling Discord and Slack webhooks.

Installation

Usage

Sending a Simple Message

from hookme import DiscordWebhook

webhook_url = "YOUR_DISCORD_WEBHOOK_URL"
webhook = DiscordWebhook(webhook_url)

response = webhook.send_message("Hello, Discord!")
print(response.status_code)

Sending an Embedded Message

from hookme import DiscordWebhook

webhook_url = "YOUR_DISCORD_WEBHOOK_URL"
webhook = DiscordWebhook(webhook_url)

embed = {
    "title": "Sample Embed",
    "description": "This is an embedded message",
    "color": 0x00ff00
}

response = webhook.send_embed(
    title=embed["title"],
    description=embed["description"],
    color=embed["color"]
)
print(response.status_code)

Sending a File

from hookme import DiscordWebhook

webhook_url = "YOUR_DISCORD_WEBHOOK_URL"
webhook = DiscordWebhook(webhook_url)

file_path = "path/to/your/file.txt"

response = webhook.send_file(file_path, content="Here is a file")
print(response.status_code)

Scheduling a Message

from hookme.automated_webhook import AutomatedWebhook

webhook_url = "YOUR_DISCORD_WEBHOOK_URL"
automated_webhook = AutomatedWebhook(webhook_url)

# Schedule a message to be sent every hour
schedule_id = automated_webhook.schedule_message(
    schedule_type="interval",
    schedule_value="1h",
    content="This is a scheduled message"
)

# Start the scheduler
automated_webhook.start_scheduler()

Sending Multiple Files with an Embedded Message

from hookme import DiscordWebhook

webhook_url = "YOUR_DISCORD_WEBHOOK_URL"
webhook = DiscordWebhook(webhook_url)

files = ["path/to/your/file1.txt", "path/to/your/file2.txt"]

response = webhook.send_files_with_embed(
    files=files,
    title="Files with Embed",
    description="These are multiple files with an embedded message",
    color=0x00ff00
)
print(response.status_code)

Handling Automated Webhooks

from hookme.automated_webhook import AutomatedWebhook

webhook_url = "YOUR_DISCORD_WEBHOOK_URL"
automated_webhook = AutomatedWebhook(webhook_url)

# Schedule an embedded message to be sent daily at 9 AM
schedule_id = automated_webhook.schedule_embed(
    schedule_type="cron",
    schedule_value="0 9 * * *",
    title="Daily Update",
    description="This is a daily update",
    color=0x00ff00
)

# Start the scheduler
automated_webhook.start_scheduler()

Retrieving Webhook Logs

from hookme.automated_webhook import AutomatedWebhook
from datetime import datetime

webhook_url = "YOUR_DISCORD_WEBHOOK_URL"
automated_webhook = AutomatedWebhook(webhook_url)

# Retrieve logs for a specific webhook ID
logs = automated_webhook.get_webhook_logs(webhook_id=1)
print(logs)

# Retrieve logs within a date range
start_date = datetime(2023, 1, 1)
end_date = datetime(2023, 12, 31)
logs = automated_webhook.get_webhook_logs(start_date=start_date, end_date=end_date)
print(logs)

# Retrieve logs with a specific status
logs = automated_webhook.get_webhook_logs(status="success")
print(logs)

Starting and Stopping the Scheduler

from hookme.automated_webhook import AutomatedWebhook

webhook_url = "YOUR_DISCORD_WEBHOOK_URL"
automated_webhook = AutomatedWebhook(webhook_url)

# Start the scheduler
automated_webhook.start_scheduler()

# Stop the scheduler
automated_webhook.stop_scheduler()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hookme-0.1.9.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hookme-0.1.9-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file hookme-0.1.9.tar.gz.

File metadata

  • Download URL: hookme-0.1.9.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for hookme-0.1.9.tar.gz
Algorithm Hash digest
SHA256 b0839e2f9dfeda4da2bdc0fb5cdbf02979c401d1eeb37e647b481e3d5e717b05
MD5 76fd9f672810ae4522067be321c94a6f
BLAKE2b-256 4145686ae2de730e280f6d418218e0d42511260d7bdc64a01ae5016e6d1ae5cc

See more details on using hashes here.

File details

Details for the file hookme-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: hookme-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for hookme-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d18ed4d7227f82c9684721612d2af13c41d5b7b2f7a8a459e7aa694bfae3670e
MD5 0599db1d4d6634c5f4b478472bd4ceb2
BLAKE2b-256 d8df3f879ebc8ed30052007b521e9f81370a0ed96ee9b4fb99a3fb66ce1a5104

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page