Metadata-Version: 2.1
Name: notifly
Version: 1.3.1
Summary: Notification on the fly !
Home-page: https://github.com/rexdivakar/Telegram-Notifly
Author: Divakar R, Sanchit Jain
Author-email: rexdivakar@hotmail.com , sanchitjain1996@gmail.com
License: MIT
Description: # Notifly  
        ### [Code Usage](https://rexdivakar.github.io/Notifly/)
        ![PyPI](https://img.shields.io/pypi/v/notifly?logo=github&style=for-the-badge)
        ![PyPI - Downloads](https://img.shields.io/pypi/dm/notifly?color=green&style=for-the-badge&logo=github)
        ![Discord](https://img.shields.io/discord/760088481224851476?label=DISCORD&logo=discord&logoColor=green&style=for-the-badge)
        
        
        <p align="center">	<p align="center">
        <img src="https://raw.githubusercontent.com/rexdivakar/Notifly/main/.others/bot.png" width="200" alt="Logo">
        
        ## Table of Contents
        * [About the package](#about-the-package)
          * [Built With](#built-with)
        * [Prerequisites for install](#prerequisites)
        * [Install the package](#install-the-package)
        * [Working of the tool](#working-of-the-tool)
            * [Telegram](#telegram)
            * [Discord](#discord)
            * [Slack](#slack)
        * [Contributing](#contributing)
        
        ## About the package
        Simple Bots to push notifications during an event trigger. <br>
        
        [!["Telegram"](https://img.shields.io/badge/%20Telegram-%20.svg?longCache=true&logo=telegram&colorB=blue)](https://telegram.org/) 
        wrapper to send messages, images, files over the bot using API. <br>
        [!["Discord"](https://img.shields.io/badge/%20Discord-%20.svg?longCache=true&logo=discord&colorB=lightblue)](https://discord.com/) 
        wrapper to send message, images, files to the channel using Webhooks. <br>
        [!["Slack"](https://img.shields.io/badge/%20slack-gray.svg?longCache=true&logo=slack&colorB=brightgreen)](https://slack.com) 
        wrapper to send message, images, files to the channel using API.
        
        ### Built With
        * [Python 3][1]
        
        ## Prerequisites
        * Python<br>
        It is preinstalled in Ubuntu 20.04. To check the version use command :
        ```
        python3 --version
        ```
        If it is not preinstalled for some reason, proceed [here][4] and download as per requirement.
        
        Run the following command in terminal to download the required packags for running the tool locally : 
        * Using requirements file :
        ```
        pip3 install -r requirements.txt
        ```
        * Directly download packages:
        ```
        pip3 install requests==2.24.0
        pip3 install matplotlib==3.2.2
        pip3 install slackclient==2.9.3
        ```
        
        ## Install the package
        Run the following terminal commands to install the package on the given distros.
        * Termux :
        ```
        pkg install python3 
        ```
        ```
        pip3 install notifly
        ```
        * Ubuntu/Debian
        ```
        sudo apt install python3-pip
        ```
        ```
        pip3 install notifly
        ```
        * Arch
        ```
        sudo pacman -S python3-pip
        ```
        ```
        pip3 install notifly
        ```
        ***This may take a while depending on the network speed.***
        
        ## Working of the tool
        ### Telegram
        To see how the tool works,
        1. Create the [telegram bot][2].
        2. Getting the bot API token
           1. Search and go to ```_@Botfather_``` .
           1. Message ```/mybots``` .
           1. Select the bot.
           1. Select the _API token_ displayed in message.
           1. Copy and use in sample code.
           ```python
           from notifly import telegram        #import the package    
           x = telegram.Notifier('bot API token')        #create object of class Notifier
           x.send_message('message')       #send message
           x.send_image("image address")        #send image(.jpg or .png format)
           x.send_document("file address")     #send document
           x.session_dump()        #creates folder named 'downloads' in local folder, downloads/saves message,chat details for current session in 'sessio_dump.json' file
            ```
        3. Run sample code.
        ### Discord
        To see how the tool works,
        1. Create server.
        2. Create and copy server [webhook][5] and use in sample code.
           ```python
           from notifly import discord
           x = discord.Notifier(r'webhook')       #create object of class Notifier
           x.send_message('message')      #send message
           x.send_file("file address")        #send file
           x.send_file("image address")       #send image
           ```
        3. Run sample code.
        ### Slack
        To see how the tool works,
        1. Create app. Follow these steps,
            1. Go [here][6].
            2. Go to ```Create an App``` .
            3. Enter _App Name_ and select workspace. Click ```Create App```.
            4. Under **Add features and functionality** select ```Incoming Webhooks``` and **Activate Incoming Webhooks**.
            5. Scroll down, select ```Add New Webhook to Workspace``` and select a channel from the drop down.This channel name is used as an argument in the sample code. Click ```Allow```.
            6. Select **OAuth & Permissions** from left-sidebar.
            7. Under **Scopes** > **Bot Token Scopes**  click ```Add an OAuth Scope``` and add the following scopes,
               <br>```chat:write``` &nbsp; ```chat:write.public``` &nbsp; ```files:write``` &nbsp; ```users:write```
            8. Scroll up, under **OAuth Tokens for Your Team** copy the *Bot User OAuth Access Token* to use in sample code.
            9. Click ```Reinstall to Workspace```, select channel and click ```Allow```.
        2. Write sample code.
           ```python
           from notifly import slack
           x= slack.Notifier('token', channel='channel-name')      #create object of class Notiflier
           x.send_message('message')      #send message
           x.send_file("image or file address")      #send image/file
           ```
        3. Run sample code.
        
        ### Tensorflow Integration
        Plug and play feature for your tensorflow callbacks
        ```python
        # create your notifier using above methods
        from notifly import discord
        notifier = discord.Notifier(r'webhook') 
        class MyNotifierCallback:
        
            @notifier.notify_on_epoch_begin(epoch_interval=1, graph_interval=1, hardware_stats_interval=1)
            def on_epoch_begin(self, epoch, logs=None):
                pass
        
            @notifier.notify_on_epoch_end(epoch_interval=1, graph_interval=1, hardware_stats_interval=1)
            def on_epoch_end(self, epoch, logs=None):
                pass
        
            @notifier.notify_on_train_begin()
            def on_train_begin(self, logs=None):
                pass
        
            @notifier.notify_on_train_end()
            def on_train_end(self, logs=None):
                pass
        
        model.fit(callbacks=[MyNotifierCallback()])
        ```
        
        ## Contributing
        1. Fork the Project
        1. Create your Feature Branch 
           >git checkout -b feature/mybranch
        1. Commit your Changes 
            >git commit -m 'Add something'
        1. Push to the Branch
            >git push origin feature/mybranch
        1. Open a Pull Request<br><br>
        Follow the given commands or use the amazing ***GitHub GUI***<br>
        **Happy Contributing**
        
        [contributors-shield]: https://img.shields.io/github/contributors/rexdivakar/Telegram-Notifly.svg?style=flat-square
        [contributors-url]: https://github.com/rexdivakar/Telegram-Notifly/graphs/contributors
        [forks-shield]: https://img.shields.io/github/forks/rexdivakar/Telegram-Notifly.svg?style=flat-square
        [forks-url]: https://github.com/rexdivakar/Telegram-Notifly/network/members
        [stars-shield]: https://img.shields.io/github/stars/rexdivakar/Telegram-Notifly.svg?style=flat-square
        [stars-url]: https://github.com/rexdivakar/Telegram-Notifly/stargazers
        [issues-shield]: https://img.shields.io/github/issues/rexdivakar/Telegram-Notifly.svg?style=flat-square
        [issues-url]: https://github.com/rexdivakar/Telegram-Notifly/issues
        [license-shield]: https://img.shields.io/github/license/rexdivakar/Telegram-Notifly.svg?style=flat-square
        [license-url]: https://github.com/rexdivakar/Telegram-Notifly/blob/master/LICENSE.txt
        [1]:https://www.python.org/
        [2]:https://telegram.org/blog/bot-revolution
        [4]:https://www.python.org/downloads/
        [5]:https://discordjs.guide/popular-topics/webhooks.html#fetching-all-webhooks-of-a-guild
        [6]:https://api.slack.com/
        
Keywords: Bot Notification
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Education
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
