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
Terminal Bot which will Execute your Commands From telegram bot!

Terminal-Bot see this bot alive: https://t.me/HerokuTerminal_Bot With this bot you can execute system commands on your server. how to config? clone or

Moshe 41 Dec 09, 2022
Get informed when your DeFI Earn CRO Validator is jailed or changes the commission rate.

CRO-DeFi-Warner Intro CRO-DeFi-Warner can be used to notify you when a validator changes the commission rate or gets jailed. It can also notify you wh

5 May 16, 2022
Yes, it's true :orange_heart: This repository has 346 stars.

Yes, it's true! Inspired by a similar repository from @RealPeha, but implemented using a webhook on AWS Lambda and API Gateway, so it's serverless! If

512 Jan 01, 2023
Date Time Userbot With Python

DATE_TIME_USERBOT An Telegram Bot By @Pythone_3 Config Vars API_ID : Telegram API_ID, get it from my.telegram.org/apps API_HASH : Telegram API_ID, get

Sinzz-sinan-m 2 Oct 20, 2021
D(HE)ater is a security tool can perform DoS attack by enforcing the DHE key exchange.

D(HE)ater D(HE)ater is an attacking tool based on CPU heating in that it forces the ephemeral variant of Diffie-Hellman key exchange (DHE) in given cr

Balasys 138 Dec 15, 2022
A Python library for the Discourse API

pydiscourse A Python library for working with Discourse. This is a fork of the original Tindie version. It was forked to include fixes, additional fun

Ben Lopatin 72 Oct 14, 2022
This checks that your credit card is valid or not

Credit_card_Validator This checks that your credit card is valid or not. Where is the app ? main.exe is the application to run and main.py is the file

Ritik Ranjan 1 Dec 21, 2021
Github Workflows üzerinde Çalışan A101 Aktüel Telegam Bot

A101AktuelRobot Github Workflows üzerinde Çalışan A101 Aktüel Telegam Bot @A101AktuelRobot 💸 Bağış Yap ☕️ Kahve Ismarla 🌐 Telif Hakkı ve Lisans Copy

Ömer Faruk Sancak 10 Nov 02, 2022
Spotify Web API client for Python 3

Welcome to the GitHub repository of Tekore! We provide a client for the Spotify Web API for Python, complete with all available endpoints and authenti

Felix Hildén 186 Dec 22, 2022
Anime Streams Scrapper for Telegram Publicly Available for everyone to use

AniRocks Project Structure: ╭─ bot ├──── plugins: directory stored all the plugins ├──── utils: a directory of Utilities to help bot Client to create

ポキ 11 Oct 28, 2022
Simple library for logging to Loggly

#Hoover A python wrapper used to hit the Loggly. API For more information on Hoover see http://wiki.loggly.com/hooverguide ##Install With this git rep

Hoover Loggly 34 May 19, 2021
An elegant mirai-api-http v2 Python SDK.

Ariadne 一个适用于 mirai-api-http v2 的 Python SDK。 本项目适用于 mirai-api-http 2.0 以上版本。 目前仍处于开发阶段,内部接口可能会有较大的变化。 安装 poetry add graia-ariadne 或 pip install graia

Graia Project 259 Jan 02, 2023
This project is based on discord.py and is meant to be a 'Quick Start Bot' to cut down on the time it takes to write complex discord bots.

This project is based on discord.py and is meant to be a 'Quick Start Bot' to cut down on the time it takes to write complex discord bots.

Alec Ibarra 1 Mar 03, 2022
Typed interactions with the GitHub API v3

PyGitHub PyGitHub is a Python library to access the GitHub API v3 and Github Enterprise API v3. This library enables you to manage GitHub resources su

5.7k Jan 06, 2023
TeslaPy - A Python implementation based on unofficial documentation of the client side interface to the Tesla Motors Owner API

TeslaPy - A Python implementation based on unofficial documentation of the client side interface to the Tesla Motors Owner API, which provides functiona

Tim Dorssers 233 Dec 30, 2022
Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat

WAR MUSIC / VIDEO PLAYER Bot Bot Link: 🧪 Get SESSION_NAME from below: Pyrogram 🎭 Preview ✨ Features Music & Video stream support MultiChat support P

Abhishek singh 11 Dec 25, 2022
Asynchronous multi-platform robot framework written in Python

NoneBot ✨ 跨平台 Python 异步机器人框架 ✨ 文档 · 安装 · 开始使用 · 文档打不开? 简介 NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架,它基于 Python 的类型注解和异步特性,能够为你的需求实现提供便捷灵活的支持。

NoneBot 3.1k Jan 04, 2023
Python3 wrapper for the Sibyl System antispam API for telegram

SibylSystem-Py Python3 wrapper for the Sibyl System antispam API for telegram Installation pip install sibylsystem Usage from SibylSystem import

Kaizoku 6 Nov 04, 2022
Python package for Calendly API v2

PyCalendly Python package to use Calendly API-v2. Installation Install with pip $ pip install PyCalendly Usage Getting Started See Getting Started wi

Lakshmanan Meiyappan 20 Dec 05, 2022
Crud-python-sqlite: used to manage telephone contacts through python and sqlite

crud-python-sqlite This program is used to manage telephone contacts through python and sqlite. Dependencicas python3 sqlite3 Installation Clone the r

Luis Negrón 0 Jan 24, 2022