Module notifly.discord
Discord API webhooks wrapper
Expand source code
"""Discord API webhooks wrapper"""
import requests
from requests import exceptions
class Notifier:
class __AuthError(Exception):
"""
Authentication Exception
"""
pass
def __init__(self, webhooks):
"""
Initialize the Discord Webhook instance
Args:
webhooks (basestring): Discord webhook token [Mandatory]
Returns:
The response of webhook status
Raises:
Exception, AuthError, MissingSchema
"""
self.__webhooks = webhooks
self.payload = None
try:
if requests.get(self.__webhooks).status_code == 401:
raise Notifier.__AuthError('Invalid Webhook')
except exceptions.ConnectionError as err:
print(err)
except Notifier.__AuthError as ty_err:
print(ty_err)
exit(1)
except requests.models.MissingSchema as ms_err:
print(ms_err)
exit(1)
def send_message(self, msg) -> object:
"""
Function to post message to the discord channel
Args:
msg (string): Posts message to the discord channel [String] [UTF-8]
Returns:
The response to the message on post operation.
Raises:
ConnectionError
"""
payload = {'content': str(msg)}
try:
return requests.post(url = self.__webhooks, data = payload)
except exceptions.ConnectionError as cer:
print(cer)
exit(1)
def send_file(self, file_path) -> object:
"""
Function to post an image to the discord channel
Args:
file_path (string): Enter the path of the file to be sent
Returns:
The response to the message on post operation.
Raises:
FileNotFoundError, OverflowError
"""
try:
self.payload = {'file': open(file_path, 'rb')}
except FileNotFoundError as fl_er:
print(fl_er)
exit(1)
try:
return requests.post(url = self.__webhooks, files = self.payload)
except OverflowError as err:
print('Size Overflow Error', err)
exit(1)
Classes
class Notifier (webhooks)
-
Initialize the Discord Webhook instance
Args
webhooks
:basestring
- Discord webhook token [Mandatory]
Returns
The response of webhook status
Raises
Exception, AuthError, MissingSchema
Expand source code
class Notifier: class __AuthError(Exception): """ Authentication Exception """ pass def __init__(self, webhooks): """ Initialize the Discord Webhook instance Args: webhooks (basestring): Discord webhook token [Mandatory] Returns: The response of webhook status Raises: Exception, AuthError, MissingSchema """ self.__webhooks = webhooks self.payload = None try: if requests.get(self.__webhooks).status_code == 401: raise Notifier.__AuthError('Invalid Webhook') except exceptions.ConnectionError as err: print(err) except Notifier.__AuthError as ty_err: print(ty_err) exit(1) except requests.models.MissingSchema as ms_err: print(ms_err) exit(1) def send_message(self, msg) -> object: """ Function to post message to the discord channel Args: msg (string): Posts message to the discord channel [String] [UTF-8] Returns: The response to the message on post operation. Raises: ConnectionError """ payload = {'content': str(msg)} try: return requests.post(url = self.__webhooks, data = payload) except exceptions.ConnectionError as cer: print(cer) exit(1) def send_file(self, file_path) -> object: """ Function to post an image to the discord channel Args: file_path (string): Enter the path of the file to be sent Returns: The response to the message on post operation. Raises: FileNotFoundError, OverflowError """ try: self.payload = {'file': open(file_path, 'rb')} except FileNotFoundError as fl_er: print(fl_er) exit(1) try: return requests.post(url = self.__webhooks, files = self.payload) except OverflowError as err: print('Size Overflow Error', err) exit(1)
Methods
def send_file(self, file_path) ‑> object
-
Function to post an image to the discord channel
Args
file_path
:string
- Enter the path of the file to be sent
Returns
The response to the message on post operation.
Raises
FileNotFoundError, OverflowError
Expand source code
def send_file(self, file_path) -> object: """ Function to post an image to the discord channel Args: file_path (string): Enter the path of the file to be sent Returns: The response to the message on post operation. Raises: FileNotFoundError, OverflowError """ try: self.payload = {'file': open(file_path, 'rb')} except FileNotFoundError as fl_er: print(fl_er) exit(1) try: return requests.post(url = self.__webhooks, files = self.payload) except OverflowError as err: print('Size Overflow Error', err) exit(1)
def send_message(self, msg) ‑> object
-
Function to post message to the discord channel
Args
msg
:string
- Posts message to the discord channel [String] [UTF-8]
Returns
The response to the message on post operation.
Raises
ConnectionError
Expand source code
def send_message(self, msg) -> object: """ Function to post message to the discord channel Args: msg (string): Posts message to the discord channel [String] [UTF-8] Returns: The response to the message on post operation. Raises: ConnectionError """ payload = {'content': str(msg)} try: return requests.post(url = self.__webhooks, data = payload) except exceptions.ConnectionError as cer: print(cer) exit(1)