AHA is an incident management & communication framework to provide real-time alert customers when there are active AWS event(s). For customers with AWS Organizations, customers can get aggregated active account level events of all the accounts in the Organization. Customers not using AWS Organizations still benefit alerting at the account level.

Overview

Table of Contents

Introduction

AWS Health Aware (AHA) is an automated notification tool for sending well-formatted AWS Health Alerts to Amazon Chime, Slack, Microsoft Teams, E-mail or an AWS Eventbridge compatible endpoint as long as you have Business or Enterprise Support.

Architecture

Resource Description
DynamoDBTable DynamoDB Table used to store Event ARNs, updates and TTL
ChimeChannelSecret Webhook URL for Amazon Chime stored in AWS Secrets Manager
EventBusNameSecret EventBus ARN for Amazon EventBridge stored in AWS Secrets Manager
LambdaExecutionRole IAM role used for LambdaFunction
LambdaFunction Main Lambda function that reads from AWS Health API, sends to endpoints and writes to DynamoDB
LambdaSchedule Amazon EventBridge rule that runs every min to invoke LambdaFunction
LambdaSchedulePermission IAM Role used for LambdaSchedule
MicrosoftChannelSecret Webhook URL for Microsoft Teams stored in AWS Secrets Manager
SlackChannelSecret Webhook URL for Slack stored in AWS Secrets Manager

Configuring an Endpoint -

AHA can send to multiple endpoints (webhook URLs, Email or EventBridge). To use any of these you'll need to set it up before-hand as some of these are done on 3rd party websites. We'll go over some of the common ones here.

Creating a Amazon Chime Webhook URL -

You will need to have access to create a Amazon Chime room and manage webhooks.

  1. Create a new chat room for events (i.e. aws_events).
  2. In the chat room created in step 1, click on the gear icon and click manage webhooks and bots.
  3. Click Add webhook.
  4. Type a name for the bot (e.g. AWS Health Bot) and click Create.
  5. Click Copy URL, we will need it for the deployment.

Creating a Slack Webhook URL -

You will need to have access to add a new channel and app to your Slack Workspace.

  1. Create a new channel for events (i.e. aws_events)
  2. In your browser go to: workspace-name.slack.com/apps where workspace-name is the name of your Slack Workspace.
  3. In the search bar, search for: Incoming Webhooks and click on it.
  4. Click on Add to Slack.
  5. From the dropdown click on the channel your created in step 1 and click Add Incoming Webhooks integration.
  6. From this page you can change the name of the webhook (i.e. AWS Bot), the icon/emoji to use, etc.
  7. For the deployment we will need the Webhook URL.

Creating a Microsoft Teams Webhook URL -

You will need to have access to add a new channel and app to your Microsoft Teams channel.

  1. Create a new channel for events (i.e. aws_events)
  2. Within your Microsoft Team go to Apps
  3. In the search bar, search for: Incoming Webhook and click on it.
  4. Click on Add to team.
  5. Type in the name of your on the channel your created in step 1 and click Set up a connector.
  6. From this page you can change the name of the webhook (i.e. AWS Bot), the icon/emoji to use, etc. Click Create when done.
  7. For the deployment we will need the webhook URL that is presented.

Configuring an Email -

  1. You'll be able to send email alerts to one or many addresses. However, you must first verify the email(s) in the Simple Email Service (SES) console.
  2. AHA utilizes Amazon SES so all you need is to enter in a To: address and a From: address.
  3. You may have to allow a rule in your environment so that the emails don't get labeled as SPAM. This will be something you have to congfigure on your own.

Creating a Amazon EventBridge Ingestion ARN -

  1. In the AWS Console, search for Amazon EventBridge.
  2. On the left hand side, click Event buses.
  3. Under Custom event bus click Create event bus
  4. Give your Event bus a name and click Create.
  5. For the deployment we will need the Name of the Event bus (not the ARN).

Setup -

There are 2 available ways to deploy AHA, both are done via the same CloudFormation template to make deployment as easy as possible.

The 2 deployment methods for AHA are:

  1. AHA for users NOT using AWS Organizations: Users NOT using AWS Organizations will be able to get Service Health Dashboard (SHD) events ONLY.
  2. AHA for users who ARE using AWS Organizations: Users who ARE using AWS Organizations will be able to get Service Health Dashboard (SHD) events as well as aggregated Personal Health Dashboard (PHD) events for all accounts in their AWS Organization.

AHA Without AWS Organizations

Prerequisites

  1. Have at least 1 endpoint configured (you can have multiple)
  2. Have access to deploy Cloudformation Templates with the following resources: AWS IAM policies, Amazon DynamoDB Tables, AWS Lambda, Amazon EventBridge and AWS Secrets Manager.

Deployment

  1. Clone the AHA package that from this repository. If you're not familiar with the process, here is some documentation. The URL to clone is in the upper right-hand corner labeled Clone uri
  2. In the root of this package you'll have two files; handler.py and messagegenerator.py. Use your tool of choice to zip them both up and name them with a unique name (e.g. aha-v1.8.zip). Note: Putting the version number in the name will make upgrading AHA seamless.
  3. Upload the .zip you created in Step 1 to an S3 in the same region you plan to deploy this in.
  4. In your AWS console go to CloudFormation.
  5. In the CloudFormation console click Create stack > With new resources (standard).
  6. Under Template Source click Upload a template file and click Choose file and select CFN_AHA.yml Click Next.
  7. -In Stack name type a stack name (i.e. AHA-Deployment).
    -In AWSOrganizationsEnabled leave it set to default which is No. If you do have AWS Organizations enabled and you want to aggregate across all your accounts, you should be following the step for AHA for users who ARE using AWS Organizations
    -In AWSHealthEventType select whether you want to receive all event types or only issues.
    -In S3Bucket type just the bucket name of the S3 bucket used in step 3 (e.g. my-aha-bucket).
    -In S3Key type just the name of the .zip file you created in Step 2 (e.g. aha-v1.8.zip).
    -In the Communications Channels section enter the URLs, Emails and/or ARN of the endpoints you configured previously.
    -In the Email Setup section enter the From and To Email addresses as well as the Email subject. If you aren't configuring email, just leave it as is. -In EventSearchBack enter in the amount of hours you want to search back for events. Default is 1 hour.
    -In Regions enter in the regions you want to search for events in. Default is all regions. You can filter for up to 10, comma separated (e.g. us-east-1, us-east-2).
  8. Scroll to the bottom and click Next.
  9. Scroll to the bottom and click Next again.
  10. Scroll to the bottom and click the checkbox and click Create stack.
  11. Wait until Status changes to CREATE_COMPLETE (roughly 2-4 minutes).

AHA With AWS Organizations

Prerequisites

  1. Enable Health Organizational View from the console, so that you can aggregate all Personal Health Dashboard (PHD) events for all accounts in your AWS Organization.
  2. Have at least 1 endpoint configured (you can have multiple)
  3. Have access to deploy Cloudformation Templates with the following resources: AWS IAM policies, Amazon DynamoDB Tables, AWS Lambda, Amazon EventBridge and AWS Secrets Manager in the AWS Organizations Master Account.

Deployment

  1. Clone the AHA package that from this repository. If you're not familiar with the process, here is some documentation. The URL to clone is in the upper right-hand corner labeled Clone uri
  2. In the root of this package you'll have two files; handler.py and messagegenerator.py. Use your tool of choice to zip them both up and name them with a unique name (e.g. aha-v1.8.zip). Note: Putting the version number in the name will make upgrading AHA seamless.
  3. Upload the .zip you created in Step 1 to an S3 in the same region you plan to deploy this in.
  4. In your AWS console go to CloudFormation.
  5. In the CloudFormation console click Create stack > With new resources (standard).
  6. Under Template Source click Upload a template file and click Choose file and select CFN_AHA.yml Click Next.
  7. -In Stack name type a stack name (i.e. AHA-Deployment). -In AWSOrganizationsEnabled change the dropdown to Yes. If you do NOT have AWS Organizations enabled you should be following the steps for AHA for users who are NOT using AWS Organizations
    -In AWSHealthEventType select whether you want to receive all event types or only issues.
    -In S3Bucket type just the bucket name of the S3 bucket used in step 3 (e.g. my-aha-bucket).
    -In S3Key type just the name of the .zip file you created in Step 2 (e.g. aha-v1.8.zip).
    -In the Communications Channels section enter the URLs, Emails and/or ARN of the endpoints you configured previously.
    -In the Email Setup section enter the From and To Email addresses as well as the Email subject. If you aren't configuring email, just leave it as is. -In EventSearchBack enter in the amount of hours you want to search back for events. Default is 1 hour.
    -In Regions enter in the regions you want to search for events in. Default is all regions. You can filter for up to 10, comma separated with (e.g. us-east-1, us-east-2).
  8. Scroll to the bottom and click Next.
  9. Scroll to the bottom and click Next again.
  10. Scroll to the bottom and click the checkbox and click Create stack.
  11. Wait until Status changes to CREATE_COMPLETE (roughly 2-4 minutes).

Updating

Until this project is migrated to the AWS Serverless Application Model (SAM), updates will have to be done as described below:

  1. Download the updated CloudFormation Template .yml file and 2 .py files.
  2. Zip up the 2 .py files and name the .zip with a different version number than before (e.g. if the .zip you originally uploaded is aha-v1.8.zip the new one should be aha-v1.9.zip)
  3. In the AWS CloudFormation console click on the name of your stack, then click Update.
  4. In the Prepare template section click Replace current template, click Upload a template file, click Choose file, select the newer CFN_AHA.yml file you downloaded and finally click Next.
  5. In the S3Key text box change the version number in the name of the .zip to match name of the .zip you uploaded in Step 2 (The name of the .zip has to be different for CloudFormation to recognize a change). Click Next.
  6. At the next screen click Next and finally click Update stack. This will now upgrade your environment to the latest version you downloaded.

If for some reason, you still have issues after updating, you can easily just delete the stack and redeploy. The infrastructure can be destroyed and rebuilt within minutes through CloudFormation.

Troubleshooting

  • If for whatever reason you need to update the Webhook URL; just update the CloudFormation Template with the new Webhook URL.
  • If you are expecting an event and it did not show up it may be an oddly formed event. Take a look at CloudWatch > Log groups and search for the name of your Cloudformation stack and Lambda function. See what the error is and reach out to us email for help.
Comments
  • Deploy AWS Health Aware solution outside master account

    Deploy AWS Health Aware solution outside master account

    Issue #, if available:

    Description of changes: Deploys the solution into a workload account instead of the organizations master account, and uses a least-privilege cross-account role as per AWS best practice.

    Also adds AWS account name to alerts not just account ID.

    By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

    opened by elduds 5
  • Skip alerts for some Issue Types

    Skip alerts for some Issue Types

    In the case of noisy alerts, looking for a way to reduce the noise by excluding some event types from generating alerts (e.g. AWS_VPN_SINGLE_TUNNEL_NOTIFICATION,AWS_VPN_REDUNDANCY_LOSS).

    Forked the repo and added an attempt at: https://github.com/benrobinsonsonos/aws-health-aware/blob/b60138a73b8ba3dea2695eafa503b140324c190a/handler.py#L48 https://github.com/benrobinsonsonos/aws-health-aware/blob/b60138a73b8ba3dea2695eafa503b140324c190a/handler.py#L120

    opened by benrobinsonsonos 3
  • Throttling exception when calling

    Throttling exception when calling "describe_affected_entities_for_organization"

    @jordanaroth @gmridula Lambda function is throwing a throttling exception, I think the issue is at L829, health_client = get_sts_token('health')

    we could use config = Config( retries = { 'max_attempts': 10, 'mode': 'standard' } ) but this is not supported with get_sts_token

    {
      "errorMessage": "An error occurred (ThrottlingException) when calling the DescribeAffectedAccountsForOrganization operation: Rate exceeded",
      "errorType": "ClientError",
      "stackTrace": [
        "  File \"/var/task/handler.py\", line 849, in main\n    describe_org_events(health_client)\n",
        "  File \"/var/task/handler.py\", line 742, in describe_org_events\n    affected_org_accounts = get_health_org_accounts(health_client, event, event_arn)\n",
        "  File \"/var/task/handler.py\", line 323, in get_health_org_accounts\n    for event_accounts_page in event_accounts_page_iterator:\n",
        "  File \"/var/runtime/botocore/paginate.py\", line 255, in __iter__\n    response = self._make_request(current_kwargs)\n",
        "  File \"/var/runtime/botocore/paginate.py\", line 332, in _make_request\n    return self._method(**current_kwargs)\n",
        "  File \"/var/runtime/botocore/client.py\", line 386, in _api_call\n    return self._make_api_call(operation_name, kwargs)\n",
        "  File \"/var/runtime/botocore/client.py\", line 705, in _make_api_call\n    raise error_class(parsed_response, operation_name)\n"
      ]
    }
    
    opened by ajmsra 3
  • Uses affected accounts

    Uses affected accounts

    Issue #, if available:

    Some parameters that were required by some functions were not being passed

    Description of changes:

    Passed parameters to functions to successfully send notifications

    By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

    opened by O5m4r 3
  • LambdaExecutionRole creation error

    LambdaExecutionRole creation error

    Policy statement must contain resources. (Service: AmazonIdentityManagement; Status Code: 400; Error Code: MalformedPolicyDocument; Request ID:redacted ; Proxy: null)

    opened by scalvanese452 3
  • Multi region deployment issue

    Multi region deployment issue

    I deployed AHA with Multi region option then I found my lambda function on Secondary region failed to run. The reason is misconfiguration of lambda Environment variables. ORG_STATUS value should be “No” but was “false” even though primary region lambda ORG_STATUS value is “No”. Are there anyone who faced same as me?

    opened by yangsoodang 2
  • Duplicate notifications for events

    Duplicate notifications for events

    Hello

    I have AHA deployed in my organisation master account and several member accounts. They have all been deployed with teams notifications enabled.

    Early this morning there was an event for a direct connect issue in a member account. In the AWS console, there is one event listed (same if i query the API directly).

    However I received 4 teams notifications, all seemingly identical. When the issue was resolved, I again received 4 notifications.

    Logs for the function only show 'Sending the alert to Teams' occurring once. What is causing this notification to be spammed to Teams? I cannot see anything in the function that might explain it, so perhaps this is a teams issue?

    duplicates

    Thanks

    opened by Pl4nky 2
  • Error when sending email

    Error when sending email

    [ERROR] TypeError: send_email() takes 2 positional arguments but 4 were givenTraceback (most recent call last):  File "/var/task/handler.py", line 836, in main    describe_events(health_client)  File "/var/task/handler.py", line 686, in describe_events    update_ddb(event_arn, str_update, status_code, event_details, affected_accounts, affected_entities)  File "/var/task/handler.py", line 484, in update_ddb    send_alert(event_details, affected_accounts_details, affected_entities, event_type="create")  File "/var/task/handler.py", line 95, in send_alert    send_email(event_details, event_type, affected_accounts, affected_entities) | [ERROR] TypeError: send_email() takes 2 positional arguments but 4 were given Traceback (most recent call last):   File "/var/task/handler.py", line 836, in main     describe_events(health_client)   File "/var/task/handler.py", line 686, in describe_events     update_ddb(event_arn, str_update, status_code, event_details, affected_accounts, affected_entities)   File "/var/task/handler.py", line 484, in update_ddb     send_alert(event_details, affected_accounts_details, affected_entities, event_type="create")   File "/var/task/handler.py", line 95, in send_alert     send_email(event_details, event_type, affected_accounts, affected_entities) -- | --

    To fix: change send_email function def send_email(event_details, eventType):

    to match similar send_org_email def send_email(event_details, eventType, affected_accounts, affected_entities):

    also need to update get_message_for_email(event_details, eventType, affected_accounts, affected_entities):

    @gmridula I would create a fork but hope you can just fix from this

    opened by jonjohnston 2
  • SHD updates beyond initial posting are not shown by AHA

    SHD updates beyond initial posting are not shown by AHA

    When updates are made to the Service Health Dashboard after an initial event has been opened (i.e. CloudFront goes from Green to Blue), they are not propagated or picked up by AHA and sent to the Slack webhook. Similarly, when a service/event goes back to green, that is not reflected in AHA. It appears that only the initial event notification sends out an alert via AHA but it requires the user to continue to monitor the SHD/PHD for further updates.

    Conversely, an RSS feed for Slack picks up all updates to the SHD (including after a service is not green).

    opened by DaniDasBoot 2
  • Trigger lambda on an event rather than on a schedule

    Trigger lambda on an event rather than on a schedule

    It strikes me as quite inefficient that this lambda is triggered on a schedule of every minute. Is there a reason this is the case, rather than executing on every Health event received that matches an event pattern?

    opened by jack-parsons-bjss 1
  • Eventbridge message structure

    Eventbridge message structure

    At the moment the data sent to Eventbridge contains the account information as one field, in this format:

    account-name (012345678) - That is account_name (account_id)

    References:

    https://github.com/aws-samples/aws-health-aware/blob/main/handler.py#L480-L481 https://github.com/aws-samples/aws-health-aware/blob/main/messagegenerator.py#L136

    In order to action these events downstream using eventbridge we're having to pull the account id out of that field. It'd be nicer to keep these separate for example two fields: "Account name" and "Account ID"

    This comment suggests some upcoming changes to eventbus structure: https://github.com/aws-samples/aws-health-aware/issues/29#issuecomment-1049847491

    Are there any updates?

    opened by lukerosser 1
  • fix-single-region-deploy-error-invalid-replica-on-aws-secret

    fix-single-region-deploy-error-invalid-replica-on-aws-secret

    Description of changes:

    • Added .gitignore containing ignore rules for terraform and for generated file lambda_function.zip during terraform plan/apply.
    • Added missing count expression in Terraform_DEPLOY_AHA.tf for resource "aws_s3_bucket_acl" "AHA-S3Bucket-PrimaryRegion"
    • Fixed for_each condition for aha_secondary_region to have proper empty value if secondary_region is not set on dynamic replica value in resource "aws_secretsmanager_secret" "AssumeRoleArn"
    • Updated source_code_hash variable on both Lambda Functions to use the newly available value of output_base64sha256 from datasource on the archive_file resource instead of the filebase64sha256 terraform function.

    Please Note: This PR would also PR-32 on this repo.

    By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

    opened by aouellet-tc 0
  • Terraform deploy to single region fails on creation of AWS Secret Manager secret for AssumeRoleArn

    Terraform deploy to single region fails on creation of AWS Secret Manager secret for AssumeRoleArn

    The current state of the main branch of this repo is not deployable using terraform provided in this repo.

    When deploying to an Organisation member account, in a single region, using Terraform there are 2 errors:

    Error 1:

    Error: error creating Secrets Manager Secret: InvalidParameterException: Invalid replica region.
    
       with aws_secretsmanager_secret.AssumeRoleArn[0],
       on Terraform_DEPLOY_AHA.tf line 416, in resource "aws_secretsmanager_secret" "AssumeRoleArn":
      416: resource "aws_secretsmanager_secret" "AssumeRoleArn" {
    

    Error 2:

     Error: Invalid index
     
       on Terraform_DEPLOY_AHA.tf line 207, in resource "aws_s3_bucket_acl" "AHA-S3Bucket-PrimaryRegion":
      207:     bucket = aws_s3_bucket.AHA-S3Bucket-PrimaryRegion[0].id
         ├────────────────
         │ aws_s3_bucket.AHA-S3Bucket-PrimaryRegion is empty tuple
     
     The given key does not identify an element in this collection value: the
     collection has no elements.
    

    Please Note: Error 1 was already attempted to be fixed in this PR-32 of this project

    opened by aouellet-tc 0
  • Cannot consume terraform as a module

    Cannot consume terraform as a module

    because *.py scripts are in the root folder i cannot use terraform code as a module: source github.com/aws-samples/aws-health-aware//terraform/Terraform_DEPLOY_AHA?ref=v2.01 so i cant store configuration in my source code - need to fork/dowoad and update code manually

    if you can change this that would be great

    opened by Tstrul-work 0
  • Further Customizing Delivery Subscriptions

    Further Customizing Delivery Subscriptions

    Would it be possible to have a way to easily customize the delivery based on custom metadata or perhaps AWS Organizations Account Tags to send emails to custom addresses on a per account basis?

    Use case is to deliver appropriate notifications to: Custom Account Owners, Tenant Application Owners or specific resource owners based on metadata / tags not really supported by AWS today.

    I suspect it would be possible to custom code something off EventBridge and Dynamo by accountId, but I get concerned about the API limits for querying Account Tags in organizations. It would be better to have a solution to register/subscribe custom destinations in the DynamoDB.

    opened by rpehrson-takeda 0
  • Question: What is the reason for building the an S3 bucket for each region

    Question: What is the reason for building the an S3 bucket for each region

    Dear Folks,

    I have a question regarding the following Terraform resources:

    resource "aws_s3_bucket" "AHA-S3Bucket-PrimaryRegion" {
        count      = "${var.ExcludeAccountIDs != "" ? 1 : 0}"
        bucket     = "aha-bucket-${var.aha_primary_region}-${random_string.resource_code.result}"
        tags = {
          Name        = "aha-bucket"
        }
    }
    
    resource "aws_s3_bucket" "AHA-S3Bucket-SecondaryRegion" {
        count      = "${var.aha_secondary_region != "" && var.ExcludeAccountIDs != "" ? 1 : 0}"
        provider   = aws.secondary_region
        bucket     = "aha-bucket-${var.aha_secondary_region}-${random_string.resource_code.result}"
        tags = {
          Name        = "aha-bucket"
        }
    }
    

    I was not able to figure out what they are used for.

    I think they are used for a CSV file holding data about excluded accounts if so I do not see a reason to create these buckets if I were just to pass the excluded accounts as a list in Terraform that is interpreted in python as a string and parsed.

    If someone could tell me what these buckets are used for that would be great.

    Many thanks.

    opened by nandac 0
Releases(2.01)
  • 2.01(Aug 10, 2022)

    AHA 2.1 Beta Release with updated eventbridge schema and examples posted. This will allow customers to have EventBridge be the point for endpoint connection, filtering, etc.

    Source code(tar.gz)
    Source code(zip)
  • 2.0(Aug 30, 2021)

  • 1.1(Aug 13, 2021)

    Fixed a bug where if you were only doing email as an endpoint AND were using the assumerole function, the Lambda would not have the required permissions in the IAM policy.

    Source code(tar.gz)
    Source code(zip)
  • 1.02(Jul 8, 2021)

    New features include:

    • Multi-region (in the multi-region beta folder)
    • Exclude accounts
    • Add account name to an account ID
    • If running in non-org mode, will send the account # and resource(s) if available
    • AssumeRole (moved out of beta, so not really new)
    • Support for the investigation event type
    • Ability to work with Slack Workflows now
    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Mar 11, 2021)

    As pointed out in https://github.com/aws-samples/aws-health-aware/issues/1 if a user ONLY selects email as an endpoint, the IAM policy fails. This was due to the IAM policy condition for secrets. Chime, Slack, Eventbridge and Teams are all stored as secrets. If none of those endpoints are created, the resources for the policy are null and thus give the error: "Policy statement must contain resources".

    Solution was to create another condition that verifies if any combination of secrets conditions were met and if true, add that particular permission to the overall policy.

    Source code(tar.gz)
    Source code(zip)
  • 1.0(Mar 9, 2021)

Owner
AWS Samples
AWS Samples
A lightweight Python wrapper for the IG Markets API

trading_ig A lightweight Python wrapper for the IG Markets API. Simplifies access to the IG REST and Streaming APIs with a live or demo account. What

IG Python 247 Dec 08, 2022
Unit testing AWS interactions with pytest and moto. These examples demonstrate how to structure, setup, teardown, mock, and conduct unit testing. The source code is only intended to demonstrate unit testing.

Unit Testing Interactions with Amazon Web Services (AWS) Unit testing AWS interactions with pytest and moto. These examples demonstrate how to structu

AWS Samples 21 Nov 17, 2022
MashaRobot : New Generation Telegram Group Manager Bot (🔸Fast 🔸Python🔸Pyrogram 🔸Telethon 🔸Mongo db )

MashaRobot Me On Telegram ✨ MASHA ✨ This is just a demo bot.. Don't try to add to your group.. Create your own bot How To Host The easiest way to depl

Mr Dark Prince 40 Oct 09, 2022
Convenient script for trading with python.

Convenient script for trading with python.

VladKochetov007 66 Dec 07, 2022
Easy to use phishing tool with 63 website templates. Author is not responsible for any misuse.

PyPhisher [+] Created By KasRoudra [+] Description : Ultimate phishing tool in python. Includes popular websites like facebook, twitter, instagram, gi

KasRoudra 1.1k Jan 01, 2023
A really easy way to display your spotify listening status on spotify.

Spotify playing README A really easy way to display your spotify listening status on READMEs and Websites too! Demo Here's the embed from the site. Cu

Sunrit Jana 21 Nov 06, 2022
自用直播源集合,附带检测与分类功能。

myiptv 自用直播源集合,附带检测与分类功能。 为啥搞 TLDR: 太闲了。 自己有收集直播源的爱好,和录制直播源的需求。 一些软件自带的直播源太过难用。 网上现有的直播源太杂,且缺乏检测。 一些大源缺乏持续更新,如 iptv-org。 使用指南与 TODO 每次进行大更新后都会进行一次 rel

abc1763613206 171 Dec 11, 2022
ByDiego Token Grabber is a Discord Stealer

ByDiego Token Grabber is a Discord Stealer. This way you can get too much information from x person if you pass it on and open it

zByDiegoM.T 4 Mar 11, 2022
A Python Jupyter Kernel in Slack. Just send Python code as a message.

Slack IPython bot 🤯 One Slack bot to rule them all. PyBot. Just send Python code as a message. Install pip install slack-ipython To start the bot, si

Rick Lamers 44 May 23, 2022
RevSpotify is a fast, useful telegram bot to have Spotify music on Telegram.

RevSpotify A Telegram Bot that can download music from Spotify RevSpotify is a fast, useful telegram bot to have Spotify music on Telegram. ✨ Features

Alireza Shabani 12 Sep 12, 2022
Clisd.py - UI framework with client side rendering for python

clisd.py Clisd is UI framework with client side rendering for python. It uses WA

2 Mar 25, 2022
Instadev - Crack Instagram IqbalDev

Crack Instagram IqbalDev ⇨ Install Script Di Termux $ pkg update && upgrade $

Dicky Wahyudi 1 Feb 27, 2022
Telegram to TamTam stickers

Telegram to TamTam stickers @tg_stickers TamTam бот, который конвертирует Telegram стикеры в формат TamTam и помогает загрузить их в TamTam. Все делае

Ivan Buymov 22 Nov 01, 2022
Unofficial Discord Rich Presence for HackTheBox platform

HTBRichPresence Unofficial Discord Rich Presence for HackTheBox platform The project is under lazy development. How to run Install requirements: // I'

Antonio 4 Apr 19, 2022
A link shortner telegram bot version 2 with advanced features

URL-Shortner-Bot-V2 A link shortner telegram bot version 2 with advanced features Made with Python3 (C) @FayasNoushad Copyright permission under MIT L

Fayas Noushad 18 Dec 29, 2022
A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python.

disfork A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. Key Features Modern Pythonic API using async a

2 Feb 09, 2022
ANKIT-OS/STYLISH-TEXT is a special repository. Its Is A Telegram Bot Which Can Translate Your Text Into 100+ Language

🔥 ᴳᴼᴼᴳᴸᴱ⁻ᵀᴿᴬᴺᔆᴸᴬᵀᴱᴿ 🔥 The owner would not be responsible for any kind of bans due to the bot. • ⚡ INSTALLING ⚡ • • 🛠️ Lᴀɴɢᴜᴀɢᴇs Aɴᴅ Tᴏᴏʟs 🔰 • If

ANKIT KUMAR 1 Dec 23, 2021
Unlimited Filter Bot

Unlimited Filter Bot The Orginel Owner Of This Repo Is ㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤ An advanced Filter Bot with nearly unlimitted filters! Features Nearly unlimite

4 Aug 02, 2022
A Wrapper for ScarletAPI

ScarletAPI A Wrapper for ScarletAPI still a work in progress Docs these are the

Amashi 0 Mar 24, 2022
A bot that downloads all the necessary files from WeLearn and lists your assignments, filter due assignments, etc.

Welearn-bot This is a bot which lets you interact with WeLearn from the command line. It can Download all files/resources from your courses and organi

Parth Bibekar 17 Oct 19, 2022