Skyscanner Python SDK

Overview

Skyscanner Python SDK

Important

As of May 1st, 2020, the project is deprecated and no longer maintained. The latest update in v1.1.5 includes changing the library to use a secure connection when calling Skyscanner's APIs as this is required for all users and http is no longer supported. The development of this SDK from that point on is fully abandoned.

As we cannot guarantee for how long it will continue working, you should not to use the SDK when starting new projects. If it is already in use in your projects, please upgrade to its latest version and keep in mind that due to planned changes in our Skyscanner APIs it may not work as expected after July 2020.

You will need to contact us to request an API key to use our APIs via the following form: https://partners.skyscanner.net/contact.

We receive a large number of requests and although we do our best to reply to all we cannot guarantee that your application will be successful.

Documentation Status https://coveralls.io/repos/Skyscanner/skyscanner-python-sdk/badge.svg?branch=master&service=github

Skyscanner Python SDK for Skyscanner's API

Features

  • Tested on Python 2.6, 2.7, 3.3, 3.4
  • Supports Flights, Hotels, and Carhire

Installation

At the command line:

$ easy_install skyscanner

Or, if you have virtualenvwrapper installed:

$ mkvirtualenv skyscanner
$ pip install skyscanner

Quick start

  1. Contact us to request an API key: https://partners.skyscanner.net/contact

  2. If you don't already have one, create a Skyscanner account.

  3. Sign into your account and click 'Import Existing App' and use your API key to create an App

  4. Set your API Key in your code:

    from skyscanner.skyscanner import Flights
    flights_service = Flights('<Your API Key>')
    
  5. Get the flights live pricing result by writing a few lines of code:

    from skyscanner.skyscanner import Flights
    
    flights_service = Flights('<Your API Key>')
    result = flights_service.get_result(
        country='UK',
        currency='GBP',
        locale='en-GB',
        originplace='SIN-sky',
        destinationplace='KUL-sky',
        outbounddate='2017-05-28',
        inbounddate='2017-05-31',
        adults=1).parsed
    
    print(result)
    

Note that both the inbounddate and outbounddate might need to be updated.

More examples

For more example usage, refer to the SDK documentation or the API documentation.

Known Issues

  • Tests might appear to be broken sometimes, this is due to the throttling in the API. In such cases, you will see the following error in the build log:

    requests.exceptions.HTTPError: 429 Client Error: Too many requests in the last minute.
    
  • Please allow up to 15 minutes for your API key to be activated. Until it is activated you will get a 403 exception:

    requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://partners.api.skyscanner.net/apiservices/pricing/v1.0?apiKey=<Your API key>
    
Comments
  • EmptyResponse(Response has no content.) while trying to get live flights

    EmptyResponse(Response has no content.) while trying to get live flights

    Even when I copy paste the example code regarding getting live flights prices from the documentation I am getting this error. I'm kinda new to python so I'm not certain where the error lies.

    My test code: `from skyscanner import Flights

    flights_service = Flights('un173418880453608449381682534785') result = flights_service.get_result( country='US', currency='USD', locale='en-US', originplace='DEN-sky', destinationplace='PHX-sky', outbounddate='2016-09-02', inbounddate='2016-09-06', adults=1).parsed `

    Error codes: File "\skyscanner\test.py", line 12, in adults=1).parsed File "\skyscanner.py", line 130, in get_result return self.poll_session(self.create_session(*_params), errors=errors, *_additional_params) File "\skyscanner.py", line 224, in poll_session errors=errors, **params) File "\skyscanner.py", line 179, in make_request return self._with_error_handling(r, e, error_mode, self.response_format) File "\skyscanner.py", line 288, in _with_error_handling raise error EmptyResponse(Response has no content.)

    opened by isamup 10
  • add flake8 in build check, reorder imports

    add flake8 in build check, reorder imports

    This PR updates the SDK such that:

    1. introduce flake8 as part of Travis CI build to ensure that we follow PEP8 guidelines as close as possible.
    2. reordering of imports to follow import guidelines from PEP8 (ref: https://www.python.org/dev/peps/pep-0008/#imports).

    I have explicitly set flake8 config to ignore max line length (defaults at 79 chars) though. perhaps we want to enforce a specific max line length?

    opened by kelvintaywl 4
  • sdk currently broken?

    sdk currently broken?

    Hi, is it just my setup or does the sdk currently not work. I just tried run a basic example from the usage section of the docs and got an

    skyscanner.skyscanner.EmptyResponse: Response has no content.
    

    I also tried to run the test, which also showed this result

    2016-03-05 08:08:27,617 - skyscanner.py:239 - WARNING - Response has no content.
    
    opened by staeff 3
  • Switch to HTTPS by Apr 30

    Switch to HTTPS by Apr 30

    We have received the notification from Skyscanner that by April 30, 2020, all the http requests to the API should be replaced by https. The respective change needs to be done in this package. Otherwise it will stop working. As I see, it is a single line change. I am happy to contribute if needed.

    https://skyscanner.github.io/slate/#https-migration-guide

    opened by udatsnoi 2
  • additional params?

    additional params?

    " from skyscanner import Flights

    flights_service = Flights('un916353397293877852942657332487') result = flights_service.get_result( stops = 0, country='US', currency='USD', locale='en-US', originplace='DTW-sky', destinationplace='PEK-sky', outbounddate='2016-06-29', inbounddate='2016-07-30').parsed

    print result "

    the parameter of "stops" doesn't work.

    is my way not right? how could I solve it? I just simply want to add a stop parameter to filter the result.

    opened by brianshu 2
  • FlightsCache response

    FlightsCache response

    Hi, I was using version 1.1.0 of the sdk and when I followed this example it would work just fine:

    flights_cache_service = FlightsCache('<Your API Key>')
    result = flights_cache_service.get_cheapest_price_by_date(
        country='UK',
        currency='GBP',
        locale='en-GB',
        originplace='SIN-sky',
        destinationplace='KUL-sky',
        outbounddate='2015-05',
        inbounddate='2015-06')
    

    Now, on the version 1.1.1, I've seen that we need to pass the "market" parameter as well. So far so good. But when I make the request just like the example above (adding the market), the response only shows the Http code. I get "Response [200]", but not the data itself.

    Is this an issue or am I doing something wrong? Thanks!

    opened by hannonq 2
  • Updated existing tests to use current time and dates

    Updated existing tests to use current time and dates

    Hi, two commits in this pull request. The first one is just formatting, no actual code changes there. The seconds one contains the actual change.

    We are about to use SkyScanner APIs in my company and since Python is one of our main tools, we are looking forward to use and contribute to this SDK.

    I also have a question related to those tests: it seems that throttling is making them fail from time to time, do you think if it is possible to do something about that? Maybe use some specific 'unit test' key?

    Cheers, Denis

    opened by ddudnik 2
  • Same hotel different result between API and Skyscanner website

    Same hotel different result between API and Skyscanner website

    Hi, I compare result request via API and skyscanner website to get the same hotel from the same date and city, the result is diff between skycanner website and my api result request. In my API result the guests ratio is always 0 without any description like on skyscanner website, also I never get reviews summary eventho the reviews not 0 (for example: 1296)

    Any idea how to get those guests ratio and description also the reviews summary?

    Thanks

    opened by erwinyusrizal 1
  • Test suite is not passing

    Test suite is not passing

    After having trouble getting the example to work (with a valid key) returning simply with "Response has no content", I tried the test suite getting to work (from master branch), but unfortunately it seems to have similar problems with parsing the content (using Python 2.7.11/homebrew/Mac OS X 10.10.5):

    running test
    running egg_info
    writing requirements to skyscanner.egg-info/requires.txt
    writing skyscanner.egg-info/PKG-INFO
    writing top-level names to skyscanner.egg-info/top_level.txt
    writing dependency_links to skyscanner.egg-info/dependency_links.txt
    reading manifest file 'skyscanner.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'LICENSE'
    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    writing manifest file 'skyscanner.egg-info/SOURCES.txt'
    running build_ext
    test_create_session (tests.test_skyscanner.TestCarHire) ... ok
    test_get_result_json (tests.test_skyscanner.TestCarHire) ... ok
    test_location_autosuggest_json (tests.test_skyscanner.TestCarHire) ... ok
    test_location_autosuggest_xml (tests.test_skyscanner.TestCarHire) ... ok
    test_create_session (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_price_by_date_json (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_price_by_date_xml (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_price_by_route_json (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_price_by_route_xml (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_quotes_json (tests.test_skyscanner.TestFlights) ... ok
    test_get_cheapest_quotes_xml (tests.test_skyscanner.TestFlights) ... ok
    test_get_grid_prices_by_date_json (tests.test_skyscanner.TestFlights) ... ok
    test_get_grid_prices_by_date_xml (tests.test_skyscanner.TestFlights) ... ok
    test_get_result_json (tests.test_skyscanner.TestFlights) ... 2016-06-28 23:06:44,396 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:06:49,489 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:06:53,145 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:06:56,948 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:06:58,715 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:00,077 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:01,467 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:02,934 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:04,302 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:05,598 - skyscanner.py:262 - WARNING - Response has no content.
    2016-06-28 23:07:06,897 - skyscanner.py:262 - WARNING - Response has no content.
    FAIL
    test_get_result_xml (tests.test_skyscanner.TestFlights) ... ok
    test_create_session (tests.test_skyscanner.TestHotels) ... ok
    test_get_result_json (tests.test_skyscanner.TestHotels) ... ok
    test_get_result_xml (tests.test_skyscanner.TestHotels) ... ok
    test_location_autosuggest_json (tests.test_skyscanner.TestHotels) ... ok
    test_location_autosuggest_xml (tests.test_skyscanner.TestHotels) ... ok
    test_construct_params (tests.test_skyscanner.TestTransport) ... ok
    test_create_session (tests.test_skyscanner.TestTransport) ... ok
    test_default_resp_callback_json (tests.test_skyscanner.TestTransport) ... ok
    test_default_resp_callback_xml (tests.test_skyscanner.TestTransport) ... ok
    test_get_markets_json (tests.test_skyscanner.TestTransport) ... ok
    test_get_markets_xml (tests.test_skyscanner.TestTransport) ... ok
    test_location_autosuggest_json (tests.test_skyscanner.TestTransport) ... ok
    test_location_autosuggest_xml (tests.test_skyscanner.TestTransport) ... ok
    test_with_error_handling_graceful (tests.test_skyscanner.TestTransport) ... 2016-06-28 23:07:53,357 - skyscanner.py:262 - WARNING -
    2016-06-28 23:07:53,357 - skyscanner.py:262 - WARNING -
    2016-06-28 23:07:53,357 - skyscanner.py:270 - WARNING - Too many requests in the last minute.
    2016-06-28 23:07:53,357 - skyscanner.py:270 - WARNING - Too many requests in the last minute.
    2016-06-28 23:07:53,357 - skyscanner.py:270 - WARNING - Too many requests in the last minute.
    2016-06-28 23:07:53,357 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,358 - skyscanner.py:270 - WARNING - Too many requests in the last minute.
    2016-06-28 23:07:53,358 - skyscanner.py:231 - ERROR - Start tag expected, '<' not found, line 1, column 1
    ok
    test_with_error_handling_ignore (tests.test_skyscanner.TestTransport) ... 2016-06-28 23:07:53,358 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,358 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,358 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,358 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,358 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,358 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,358 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - None
    2016-06-28 23:07:53,359 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - None
    2016-06-28 23:07:53,359 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - None
    2016-06-28 23:07:53,359 - skyscanner.py:279 - ERROR -
    2016-06-28 23:07:53,359 - skyscanner.py:279 - ERROR -
    ok
    test_with_error_handling_strict (tests.test_skyscanner.TestTransport) ... 2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - No JSON object could be decoded
    2016-06-28 23:07:53,359 - skyscanner.py:231 - ERROR - None
    2016-06-28 23:07:53,360 - skyscanner.py:231 - ERROR - None
    2016-06-28 23:07:53,360 - skyscanner.py:231 - ERROR - expected '>', line 1, column 57
    2016-06-28 23:07:53,360 - skyscanner.py:231 - ERROR - expected '>', line 1, column 57
    400
    ok
    
    ======================================================================
    FAIL: test_get_result_json (tests.test_skyscanner.TestFlights)
    ----------------------------------------------------------------------
    Traceback (most recent call last):
      File "/Users/niko/sandbox/python/skyscanner-python-sdk/tests/test_skyscanner.py", line 729, in test_get_result_json
        self.assertTrue(None != self.result)
      File "/Users/niko/sandbox/python/skyscanner-python-sdk/tests/test_skyscanner.py", line 58, in assertTrue
        expr, msg=msg or self._default_message())
    AssertionError: False is not true
    
    ----------------------------------------------------------------------
    Ran 31 tests in 97.374s
    
    FAILED (failures=1)
    
    opened by nikos 1
  • Refactorings/improvements for requests

    Refactorings/improvements for requests

    Hi,

    Digging my way through the code, here are some changes/refactorings which I suggest:

    • more generic 'make_request' method. Nicely isolates 'requests' lib (it's used only there now). All other methods use it to talk to API.
    • generic 'get_results' and 'create_session' methods, so the overall API of all classes becoming more in sync
    • improvement for handling errors in response

    Cheers, Denis

    opened by ddudnik 1
  • Minor refactoring and unit test improvements

    Minor refactoring and unit test improvements

    Hi!

    I suggest some minor refactorings to be applied, the more important of which is having single API_HOST field to set up which SkyScanner environment to contact. My guess is that having this setting it would be possible to direct unit tests to some other environment than production.

    Also added an improvement in unit tests by outputting actual API response on assert failure. It helps a lot to see if your failure was due to real error or to throttling limitations which is currently there.

    Cheers, Denis

    opened by ddudnik 1
  • Bump wheel from 0.23.0 to 0.38.1

    Bump wheel from 0.23.0 to 0.38.1

    Bumps wheel from 0.23.0 to 0.38.1.

    Changelog

    Sourced from wheel's changelog.

    Release Notes

    UNRELEASED

    • Updated vendored packaging to 22.0

    0.38.4 (2022-11-09)

    • Fixed PKG-INFO conversion in bdist_wheel mangling UTF-8 header values in METADATA (PR by Anderson Bravalheri)

    0.38.3 (2022-11-08)

    • Fixed install failure when used with --no-binary, reported on Ubuntu 20.04, by removing setup_requires from setup.cfg

    0.38.2 (2022-11-05)

    • Fixed regression introduced in v0.38.1 which broke parsing of wheel file names with multiple platform tags

    0.38.1 (2022-11-04)

    • Removed install dependency on setuptools
    • The future-proof fix in 0.36.0 for converting PyPy's SOABI into a abi tag was faulty. Fixed so that future changes in the SOABI will not change the tag.

    0.38.0 (2022-10-21)

    • Dropped support for Python < 3.7
    • Updated vendored packaging to 21.3
    • Replaced all uses of distutils with setuptools
    • The handling of license_files (including glob patterns and default values) is now delegated to setuptools>=57.0.0 (#466). The package dependencies were updated to reflect this change.
    • Fixed potential DoS attack via the WHEEL_INFO_RE regular expression
    • Fixed ValueError: ZIP does not support timestamps before 1980 when using SOURCE_DATE_EPOCH=0 or when on-disk timestamps are earlier than 1980-01-01. Such timestamps are now changed to the minimum value before packaging.

    0.37.1 (2021-12-22)

    • Fixed wheel pack duplicating the WHEEL contents when the build number has changed (#415)
    • Fixed parsing of file names containing commas in RECORD (PR by Hood Chatham)

    0.37.0 (2021-08-09)

    • Added official Python 3.10 support
    • Updated vendored packaging library to v20.9

    ... (truncated)

    Commits
    • 6f1608d Created a new release
    • cf8f5ef Moved news item from PR #484 to its proper place
    • 9ec2016 Removed install dependency on setuptools (#483)
    • 747e1f6 Fixed PyPy SOABI parsing (#484)
    • 7627548 [pre-commit.ci] pre-commit autoupdate (#480)
    • 7b9e8e1 Test on Python 3.11 final
    • a04dfef Updated the pypi-publish action
    • 94bb62c Fixed docs not building due to code style changes
    • d635664 Updated the codecov action to the latest version
    • fcb94cd Updated version to match the release
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Skyscanner Optional Parameters do not seem to parse

    Skyscanner Optional Parameters do not seem to parse

    Example params being passed to:

    from skyscanner.skyscanner import Flights flights_service = Flights(settings.SKY_TOKEN) flights_service.skyscanner.get_result( {'inbounddate': '', 'currency': 'INR', 'includeCarriers': u'9W', 'originplace': u'CCU-sky', 'adults': 1, 'destinationplace': u'DEL-sky', 'locale': 'en-IN', 'country': 'IN', 'outbounddate': '2018-01-13', 'market': 'IN'})

    However, the results don't come filtered with includeCarriers.
    In the results we get other Carriers and also the results['Query'] as such.

    "Query": { "DestinationPlace": "10957", "CabinClass": "Economy", "Adults": 1, "Locale": "en-IN", "Country": "IN", "OutboundDate": "2018-01-13", "Currency": "INR", "OriginPlace": "10401", "LocationSchema": "Default", "Infants": 0, "GroupPricing": false, "Children": 0 },

    We tested with the same parameters in the API Test Harness and we got proper results.

    opened by johnsonc 0
  • Country Codes and Places API

    Country Codes and Places API

    Hi Guys,

    I'm having a few issues using the Country Codes (e.g. IE or UK) from the Places API in fetching a Grid of Prices. I get the following issue:

    HTTPError: 400 Client Error: Bad Request for url: http://partners.api.skyscanner.net/apiservices/browsegrid/v1.0/UK/GBP/en-GB/MAN/IE/2017-05/2017-05?apiKey=[API]: For this query please use the following service [BrowseRoutes]

    Is there a way to:

    (a) Get a response in the same way you do when you input cities? I don't see why the output should be any different if the city code is UK or LOND

    (b) Can we filter the places api to filter out country codes?

    opened by ahmasoh1992 1
  • carhire_service.get_result(...) Missing data

    carhire_service.get_result(...) Missing data

    I have reused the example from the documentation but every time I make a request I receive a response without submitted_query, images and car_classes lists. I'm using python 3.4.6

    `from skyscanner.skyscanner import CarHire

    carhire_service = CarHire('my_api_key')

    result = carhire_service.get_result( market='UK', currency='GBP', locale='en-GB', pickupplace='27544008', dropoffplace='27544008', pickupdatetime='2017-04-18T10:00', dropoffdatetime='2017-04-25T10:00', driverage='21', userip='127.0.0.1').parsed

    print(result) `

    opened by davidch413 1
  • Airport List

    Airport List

    How do we access your list of airports and their codes, including things like "All London airports", so that we can develop our front end to speak to your api?

    opened by ahmasoh1992 1
  • 'Response' object has no attribute 'lower'

    'Response' object has no attribute 'lower'

    Hello! I'm trying to do something with SkyScanner API, and I decided to start with simple examples on Github. But it seems not to work, and the following error appears:

    image

    Can you help me to solve this problem? Or maybe I just do something wrong? Anyway, thank you!

    opened by BohdanBorkivskyi 3
Releases(1.1.5)
  • 1.1.5(Apr 22, 2020)

  • 1.1.4(Sep 12, 2016)

  • 1.1.2(Jul 10, 2016)

    • As reported in #15
    • Support for the following additional params during poll requests:
                'locationschema',
                'carrierschema',
                'sorttype',
                'sortorder',
                'originairports',
                'destinationairports',
                'stops',
                'outbounddeparttime',
                'outbounddepartstarttime',
                'outbounddepartendtime',
                'inbounddeparttime',
                'inbounddepartstarttime',
                'inbounddepartendtime',
                'duration',
                'includecarriers',
                'excludecarriers'
    
    • Reference doc: http://business.skyscanner.net/portal/en-GB/Documentation/FlightsLivePricingList#pollsession
    Source code(tar.gz)
    Source code(zip)
  • 1.1.1(Jul 31, 2015)

  • 1.1.0(Jul 18, 2015)

    • Added support for XML responses. Return full response now + parsed content.
    • Improved error handling and code documentation.
    • Major code refactoring and improvement work.
    • Updated existing tests to use current time and dates.

    Thanks to @ddudnik for all these code improvements and stabilization.

    Source code(tar.gz)
    Source code(zip)
Owner
Skyscanner
Skyscanner
AutomaTik is an automation system for MikroTik devices with simplicity and security in mind.

AutomaTik Installation AutomaTik is an automation system for MikroTik devices with simplicity and security in mind. Winbox is the main tool for MikroT

Osman Kazdal 4 Dec 05, 2022
Python SDK for interacting with the Frame.io API.

python-frameio-client Frame.io Frame.io is a cloud-based collaboration hub that allows video professionals to share files, comment on clips real-time,

Frame.io 37 Dec 21, 2022
Ever wanted a dashboard for making your antispam? This is it.

Ever wanted a dashboard for making your antispam? This is it.

Skelmis 1 Oct 27, 2021
OMDB-and-TasteDive-Mashup - Mashing up data from two different APIs to make movie recommendations.

OMDB-and-TasteDive-Mashup This hadns-on project is in the Python 3 Programming Specialization offered by University of Michigan via Coursera. Mashing

Eszter Pai 1 Jan 05, 2022
An Python SDK for QQ based on mirai-api-http v2.

Argon 一个基于 graia-broadcast 和 mirai-api-http v2 的 Python SDK。 本项目适用于 mirai-api-http 2.0 以上版本。 目前仍处于开发阶段,内部接口可能会有较大的变化。 The Stasis / 停滞 为维持 GraiaProject

BlueGlassBlock 1 Oct 29, 2021
1 Feb 18, 2022
Python tool to Check running WebClient services on multiple targets based on @leechristensen

WebClient Service Scanner Python tool to Check running WebClient services on multiple targets based on @tifkin_ idea. This tool uses impacket project.

Pixis 153 Dec 28, 2022
Latest Open Source Code for Playing Music in Telegram Video Chat. Made with Pyrogram and Pytgcalls 💖

MusicPlayer_TG Latest Open Source Code for Playing Music in Telegram Video Chat. Made with Pyrogram and Pytgcalls 💖 Requirements 📝 FFmpeg NodeJS nod

Abhijith Sudhakaran 2 Feb 04, 2022
The purpose of this bot is to take soundcloud track requests, that are posted in the stream-requests channel, and add them to a playlist, to make the process of scrolling through the requests easier for Root

Discord Song Collector Dont know if anyone is actually going to read this, but the purpose of this bot is to check every message in the stream-request

2 Mar 01, 2022
A template that everyone can use for the start of their discord bot

Python Discord Bot Template This repository is a template that everyone can use for the start of their discord bot. When I first started creating my d

2 Nov 01, 2021
Neubot client

Neubot, the network neutrality bot Neubot is a research project on network neutrality of the Nexa Center for Internet & Society at Politecnico di Tori

Neubot 57 Nov 02, 2021
Moon-TikTok-Checker - A TikTok Username checking tool that probably 3/4 people use to get rare usernames

Moon Checker (educational Purposes Only) What Is Moon Checker? This is a TikTok

glide 4 Nov 30, 2022
Auto Moderation is a powerfull moderation bot

Auto Moderation.py Auto Moderation a powerful Moderation Discord Bot 🎭 Futures Moderation Auto Moderation 🚀 Installation git clone https://github.co

G∙MAX 2 Apr 02, 2022
Telegram Voice Chat Music Player UserBot Written with Pyrogram Smart Plugin and tgcalls

Telegram Voice Chat UserBot A Telegram UserBot to Play Audio in Voice Chats. This is also the source code of the userbot which is being used for playi

Dash Eclipse 7 May 21, 2022
Yet another random discord bot.

YARDB (r!) Yet another fully functional and random discord bot. I might add more features if I'm bored also don't criticize on my code. Commands: 4 Di

kayle 1 Oct 21, 2021
Automatically copy the Discord Status of a Friend you share a server with (conditions have to be satisfied to work)

CopyDiscordStatusOfUser-SelfBot Basic Function Automatically copy the Discord Status of a friend User whom you share a server with (These conditions h

Certified Baller 5 Aug 05, 2022
Scheduled Block Checker for Cardano Stakepool Operators

ScheduledBlocks Scheduled Block Checker for Cardano Stakepool Operators Lightweight and Portable Scheduled Blocks Checker for Current Epoch. No cardan

SNAKE (Cardano Stakepool) 4 Oct 18, 2022
Webservice that notifies users on Slack when a change in GitLab concern them.

Gitlab Slack Notifier Webservice that notifies users on Slack when a change in GitLab concern them. Setup Slack Create a Slack app, go to "OAuth & Per

Heuritech 2 Nov 04, 2021
Pancakeswap Sniper BOT - TORNADO CASH Proxy (MAC WINDOWS ANDROID LINUX) A fully decentralized protocol for private transactions

TORNADO CASH Proxy Pancakeswap Sniper BOT 2022-V1 (MAC WINDOWS ANDROID LINUX) ⭐️ A fully decentralized protocol for private transactions ⭐️ AUTO DOWNL

Crypto Trader 1 Jan 05, 2022
Improved file host. Change of interface and storage: 15 GB available.

File hosting v2 Improved file host. Change of interface and storage: 15 GB available. This app now uses the Google API to store, view, and delete file

Sarusman 1 Jan 18, 2022