Evernote SDK for Python

Overview

Evernote SDK for Python

Evernote API version 1.28

This SDK is intended for use with Python 2.X

For Evernote's beta Python 3 SDK see https://github.com/evernote/evernote-sdk-python3

Overview

This SDK contains wrapper code used to call the Evernote Cloud API from Python.

The SDK also contains a sample script. The code demonstrates the basic use of the SDK for single-user scripts. Real web applications must use OAuth to authenticate to the Evernote service.

Prerequisites

In order to use the code in this SDK, you need to obtain an API key from http://dev.evernote.com/documentation/cloud. You'll also find full API documentation on that page.

In order to run the sample code, you need a user account on the sandbox service where you will do your development. Sign up for an account at https://sandbox.evernote.com/Registration.action

In order to run the client client sample code, you need a developer token. Get one at https://sandbox.evernote.com/api/DeveloperToken.action

Getting Started - Client

The code in sample/client/EDAMTest.py demonstrates the basics of using the Evernote API, using developer tokens to simplify the authentication process while you're learning.

  1. Open sample/client/EDAMTest.py

  2. Scroll down and fill in your Evernote developer token.

  3. On the command line, run the following command to execute the script:

    $ export PYTHONPATH=../../lib; python EDAMTest.py

Getting Started - Django with OAuth

Web applications must use OAuth to authenticate to the Evernote service. The code in sample/django contains a simple web apps that demonstrate the OAuth authentication process. The application use the Django framework. You don't need to use Django for your application, but you'll need it to run the sample code.

  1. Install django, oauth2 and evernote library. You can also use requirements.txt for pip.

  2. Open the file oauth/views.py

  3. Fill in your Evernote API consumer key and secret.

  4. On the command line, run the following command to start the sample app:

    $ python manage.py runserver
  5. Open the sample app in your browser: http://localhost:8000

Getting Started - Pyramid with OAuth

If you want to use Evernote API with Pyramid, the code in sample/pyramid will be good start.

  1. Install the sample project using pip on your command line like this.

    $ pip install -e .
  2. Open the file development.ini

  3. Fill in your Evernote API consumer key and secret.

  4. On the command line, run the following command to start the sample app:

    $ pserve development.ini
  5. Open the sample app in your browser: http://localhost:6543

Usage

OAuth

client = EvernoteClient(
    consumer_key='YOUR CONSUMER KEY',
    consumer_secret='YOUR CONSUMER SECRET',
    sandbox=True # Default: True
)
request_token = client.get_request_token('YOUR CALLBACK URL')
client.get_authorize_url(request_token)
 => https://sandbox.evernote.com/OAuth.action?oauth_token=OAUTH_TOKEN

To obtain the access token

access_token = client.get_access_token(
    request_token['oauth_token'],
    request_token['oauth_token_secret'],
    request.GET.get('oauth_verifier', '')
)

Now you can make other API calls

client = EvernoteClient(token=access_token)
note_store = client.get_note_store()
notebooks = note_store.listNotebooks()

UserStore

Once you acquire token, you can use UserStore. For example, if you want to call UserStore.getUser:

client = EvernoteClient(token=access_token)
user_store = client.get_user_store()
user_store.getUser()

You can omit authenticationToken in the arguments of UserStore functions.

NoteStore

If you want to call NoteStore.listNotebooks:

note_store = client.get_note_store()
note_store.listNotebooks()

NoteStore for linked notebooks

If you want to get tags for linked notebooks:

linked_notebook = note_store.listLinkedNotebooks()[0]
shared_note_store = client.getSharedNoteStore(linked_notebook)
shared_notebook = shared_note_store.getSharedNotebookByAuth()
shared_note_store.listTagsByNotebook(shared_notebook.notebookGuid)

NoteStore for Business

If you want to get the list of notebooks in your business account:

business_note_store = client.get_business_note_store()
business_note_store.listNotebooks()

References

Known Issues

Regular expressions

In general, the "re" regex module doesn't handle some of our regular expressions in Limits, but re2 does.

Comments
  • Test fails in ubuntu 12.04

    Test fails in ubuntu 12.04

    When i run test by export PYTHONPATH=../lib; python EDAMTest.py i saw: Traceback (most recent call last): File "EDAMTest.py", line 46, in <module> UserStoreConstants.EDAM_VERSION_MINOR) File "/usr/local/lib/python2.7/dist-packages/evernote/edam/userstore/UserStore.py", line 224, in checkVersion self.send_checkVersion(clientName, edamVersionMajor, edamVersionMinor) File "/usr/local/lib/python2.7/dist-packages/evernote/edam/userstore/UserStore.py", line 235, in send_checkVersion self._oprot.trans.flush() File "/usr/local/lib/python2.7/dist-packages/thrift/transport/THttpClient.py", line 93, in _f result = f(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/thrift/transport/THttpClient.py", line 114, in flush self.__http.endheaders() File "/usr/lib/python2.7/httplib.py", line 954, in endheaders self._send_output(message_body) File "/usr/lib/python2.7/httplib.py", line 814, in _send_output self.send(msg) File "/usr/lib/python2.7/httplib.py", line 776, in send self.connect() File "/usr/lib/python2.7/httplib.py", line 1161, in connect self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file) File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket ciphers=ciphers) File "/usr/lib/python2.7/ssl.py", line 143, in __init__ self.do_handshake() File "/usr/lib/python2.7/ssl.py", line 305, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [Errno 8] _ssl.c:504: EOF occurred in violation of protocol

    opened by nvbn 16
  • Conflicts with python thrift library

    Conflicts with python thrift library

    doing pip install evernote and pip install thrift can cause:

    File "/usr/local/lib/python2.7/site-packages/notehandler-0.6_dev-py2.7.egg/notehandler.py", line 315, in cmd_userinfo
    userStore = client.get_user_store()
    File "/usr/local/lib/python2.7/site-packages/evernote-1.25.0-py2.7.egg/evernote/api/client.py", line 60, in get_user_store
    store = Store(self.token, UserStore.Client, user_store_uri)
    File "/usr/local/lib/python2.7/site-packages/evernote-1.25.0-py2.7.egg/evernote/api/client.py", line 122, in init
    self._client = self._get_thrift_client(client_class, store_url)
    File "/usr/local/lib/python2.7/site-packages/evernote-1.25.0-py2.7.egg/evernote/api/client.py", line 146, in _get_thrift_client
    http_client.addHeaders({
    AttributeError: THttpClient instance has no attribute 'addHeaders'
    

    Can you guys work with the thrift library to fix this? Or unbundle the thrift library? Or pull it all the way internal so you don't collide namespacewise so this won't happen?

    opened by pjz 9
  • run example error

    run example error

    from evernote.api.client import EvernoteClient
    s="*******"
    developer_token = s
    
    
    client = EvernoteClient(token=developer_token)
    note_store = client.get_note_store()
    print note_store 
    # Make API calls
    notebooks = note_store.listNotebooks()
    for notebook in notebooks:
        print "Notebook: ", notebook.name
    

    error

    Traceback (most recent call last):
      File "tests_evernote.py", line 17, in <module>
        note_store = client.get_note_store()
      File "/Volumes/MACEXT/GitHub/evernote-sdk-python/lib/evernote/api/client.py", line 68, in get_note_store
        note_store_uri = user_store.getNoteStoreUrl()
      File "/Volumes/MACEXT/GitHub/evernote-sdk-python/lib/evernote/api/client.py", line 138, in delegate_method
        )(**dict(zip(arg_names, args)))
      File "/Volumes/MACEXT/GitHub/evernote-sdk-python/lib/evernote/edam/userstore/UserStore.py", line 1156, in getNoteStoreUrl
        return self.recv_getNoteStoreUrl()
      File "/Volumes/MACEXT/GitHub/evernote-sdk-python/lib/evernote/edam/userstore/UserStore.py", line 1181, in recv_getNoteStoreUrl
        raise result.systemException
    evernote.edam.error.ttypes.EDAMSystemException: EDAMSystemException(errorCode=8, rateLimitDuration=None, _message='authenticationToken')
    
    opened by yishenggudou 7
  • sample-code throws error

    sample-code throws error

    Using OS X 10.7, Python 2.7

    I have a valid sandbox account with a fresh developer token created for this account and copied at line 27 of

    "sample/EDAMTest.py"

    authToken = "abc123" # here I copied my real developer token of course
    

    Following the instructions of the sample code everything works fine until it comes to line 57:

    noteStoreUrl = userStore.getNoteStoreUrl(authToken)
    

    where executing the example code with or without

    Hlidskialf:sample Ulf$ export PYTHONPATH=../lib; python EDAMTest.py
    

    it first print this, so it obviously run's a little bit ;):

    Is my Evernote API version up to date?  True
    

    and than finally fails with this:

    Traceback (most recent call last):
      File "EDAMTest.py", line 57, in <module>
        noteStoreUrl = userStore.getNoteStoreUrl(authToken)
    AttributeError: 'Client' object has no attribute 'getNoteStoreUrl'
    

    In the file "lib/evernote/edam/userstore/UserStore.py" at line 600:

      def getNoteStoreUrl(self, authenticationToken):
        """
        Returns the URL that should be used to talk to the NoteStore for the
        account represented by the provided authenticationToken.
        This method isn't needed by most clients, who can retrieve the correct
        NoteStore URL from the AuthenticationResult returned from the authenticate
        or refreshAuthentication calls. This method is typically only needed
        to look up the correct URL for a long-lived session token (e.g. for an
        OAuth web service).
    
        Parameters:
         - authenticationToken
        """
        self.send_getNoteStoreUrl(authenticationToken)
        return self.recv_getNoteStoreUrl()
    

    I am not 100% sure wether this is on my side or something wrong with the example code.

    Hope someone can help me out.

    Cheers, Ulf

    opened by urms 6
  • Code completion & Docstrings

    Code completion & Docstrings

    Hi, The architecture of the SDK breaks PyDev code completion & hover docstrings (on methods), slowing down development and making it harder to use. Do you have any known workaround or future plan on that? Thanks, Chris

    opened by laurentgoudet 5
  • Add setup.py

    Add setup.py

    I've created a setup script so that we can install the evernote python SDK in the standard python module way (http://docs.python.org/distutils/setupscript.html).

    just run

    python setup.py install
    

    and the library will be installed in your PYTHONPATH.

    This makes the library ready for PyPI, or installed directly from github (eg pip install git+git://github.com/evernote/evernote-sdk-python.git).

    opened by kwellman 5
  • https://www.yinxiang.com/  errorCode=8

    https://www.yinxiang.com/ errorCode=8

    use china evernote,need config this url? 'https://app.yinxiang.com/shard/s5/notestore' how to config?

    client = EvernoteClient(token=dev_token, sandbox=False)
    noteStore = client.get_note_store()
    

    throw err

        noteStore = client.get_note_store()
      File "build/bdist.macosx-10.10-intel/egg/evernote/api/client.py", line 68, in get_note_store
      File "build/bdist.macosx-10.10-intel/egg/evernote/api/client.py", line 138, in delegate_method
      File "build/bdist.macosx-10.10-intel/egg/evernote/edam/userstore/UserStore.py", line 1156, in getNoteStoreUrl
      File "build/bdist.macosx-10.10-intel/egg/evernote/edam/userstore/UserStore.py", line 1181, in recv_getNoteStoreUrl
    evernote.edam.error.ttypes.EDAMSystemException: EDAMSystemException(errorCode=8, rateLimitDuration=None, _message='authenticationToken')
    
    opened by youqingkui 4
  • Set PLAINTEXT signature method for empty oauth_token_secret

    Set PLAINTEXT signature method for empty oauth_token_secret

    EvernoteClient.get_access_token() should set PLAINTEXT signature method when oauth_token_secret is empty as per the small patch below (sorry too lazy to make a fork for this):

    --- a/lib/evernote/api/client.py
    +++ b/lib/evernote/api/client.py
    @@ -49,6 +49,8 @@ class EvernoteClient(object):
             token = oauth.Token(oauth_token, oauth_token_secret)
             token.set_verifier(oauth_verifier)
             client = self._get_oauth_client(token)
    +        if not oauth_token_secret:
    +            client.set_signature_method(oauth.SignatureMethod_PLAINTEXT())
    
             resp, content = client.request(self._get_endpoint('oauth'), 'POST')
             access_token = dict(urlparse.parse_qsl(content))
    
    opened by gsakkis 4
  • Is this right way for get the data from access_token?

    Is this right way for get the data from access_token?

    u.evernote_token is valid token. When I use the new EvernoteClient , I always get the EDAMUserException.

    In [36]: ec = EvernoteClient(token=u.evernote_token, sandbox=False)
    
    In [37]: us = ec.get_user_store()
    
    In [38]: us.getUser()
    ---------------------------------------------------------------------------
    EDAMUserException                         Traceback (most recent call last)
    <ipython-input-38-e5fae8655448> in <module>()
    ----> 1 us.getUser()
    
    /home/dreampuf/www/tblog/.py/lib/python2.7/site-packages/evernote/api/client.pyc in delegate_method(*args, **kwargs)
        138                 return functools.partial(
        139                     targetMethod, authenticationToken=self.token
    --> 140                 )(**dict(zip(arg_names, args)))
        141             else:
        142                 return targetMethod(*args, **kwargs)
    
    /home/dreampuf/www/tblog/.py/lib/python2.7/site-packages/evernote/edam/userstore/UserStore.pyc in getUser(self, authenticationToken)
        788     """
        789     self.send_getUser(authenticationToken)
    --> 790     return self.recv_getUser()
        791
        792   def send_getUser(self, authenticationToken):
    
    /home/dreampuf/www/tblog/.py/lib/python2.7/site-packages/evernote/edam/userstore/UserStore.pyc in recv_getUser(self)
        811       return result.success
        812     if result.userException is not None:
    --> 813       raise result.userException
        814     if result.systemException is not None:
        815       raise result.systemException
    
    EDAMUserException: EDAMUserException(errorCode=9, parameter='password')
    

    Do you have any suggestion?

    opened by dreampuf 3
  • Could you add this feature of the client?

    Could you add this feature of the client?

    I find the new client api may limit many old apps use this SDK. The new client loses the response data when it request the token. I hope you can merge this pull request to your SDK.

    opened by dreampuf 3
  • Special Examples

    Special Examples

    Hi, here at the Evernote Hackathon Berlin 2013 we figured out, that people need more examples covering complete use cases. These are some examples we found useful for the people here.

    opened by holtwick 3
  • Enhanced organization and search capabilities.

    Enhanced organization and search capabilities.

    Enhanced organization and search capabilities. Implementing a feature such as advanced tagging (which was extracted under LDA topic 4 during my review analysis, the word 'tag') and categorization of notes and tasks will provide users with a way to quickly access notes they are searching for. This helps increase the apps usefulness and efficiency for users that tend to own a large collection of notes.

    opened by mhassan04 0
  • Improved performance and stability

    Improved performance and stability

    Improved performance and stability. Under LDA topic 9 during my review analysis, one of the extracted word was 'crash' and it shows up twice, which tells us that the users are reporting bugs and crashes on the app, their have also been reviews about the app's slow loading time, for instance under LDA Topic 1 during my reviews analysis we find the word 'slow', this causes the users to get irritated and may lead to them closing the app. As a result, to improve the users overall experience on the app and increase their satisfaction, the app should improve its performance and stability.

    opened by mhassan04 0
  • Add a feature to pin notes

    Add a feature to pin notes

    Add a feature to pin notes, if you use a notes app often, there are notes you go back to everyday and edit to add more information and so on. The app appeals more to the user when a simple feature such as pinning a few notes and having it show up on the top of their screen, this would be super convenient, useful and increase the usability.

    opened by mhassan04 0
  • Adding feature to increase font size

    Adding feature to increase font size

    Add a feature to increase the font size when reading texts on the Evernote app, users struggle to read texts and prefer to increase the size to their liking. This increases the usability and is appealing to the user.

    opened by mhassan04 0
  • Bump mako from 0.7.3 to 1.2.2 in /sample/pyramid

    Bump mako from 0.7.3 to 1.2.2 in /sample/pyramid

    Bumps mako from 0.7.3 to 1.2.2.

    Release notes

    Sourced from mako's releases.

    1.2.2

    Released: Mon Aug 29 2022

    bug

    • [bug] [lexer] Fixed issue in lexer where the regexp used to match tags would not correctly interpret quoted sections individually. While this parsing issue still produced the same expected tag structure later on, the mis-handling of quoted sections was also subject to a regexp crash if a tag had a large number of quotes within its quoted sections.

      References: #366

    1.2.1

    Released: Thu Jun 30 2022

    bug

    • [bug] [tests] Various fixes to the test suite in the area of exception message rendering to accommodate for variability in Python versions as well as Pygments.

      References: #360

    misc

    • [performance] Optimized some codepaths within the lexer/Python code generation process, improving performance for generation of templates prior to their being cached. Pull request courtesy Takuto Ikuta.

      References: #361

    1.2.0

    Released: Thu Mar 10 2022

    changed

    • [changed] [py3k] Corrected "universal wheel" directive in setup.cfg so that building a wheel does not target Python 2.

      References: #351

    • [changed] [py3k] The bytestring_passthrough template argument is removed, as this flag only applied to Python 2.

    ... (truncated)

    Commits

    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
  • Bump waitress from 0.8.2 to 2.1.1 in /sample/pyramid

    Bump waitress from 0.8.2 to 2.1.1 in /sample/pyramid

    Bumps waitress from 0.8.2 to 2.1.1.

    Release notes

    Sourced from waitress's releases.

    v2.1.1

    No release notes provided.

    v2.1.0

    No release notes provided.

    v2.1.0b0

    No release notes provided.

    v2.0.0

    No release notes provided.

    v2.0.0b1

    No release notes provided.

    v2.0.0b0

    No release notes provided.

    v1.4.4

    No release notes provided.

    v1.4.3

    No release notes provided.

    v1.4.2

    No release notes provided.

    v1.4.1

    No release notes provided.

    v1.4.0

    No release notes provided.

    v1.3.1

    No release notes provided.

    v1.3.0

    No release notes provided.

    v1.3.0b0

    No release notes provided.

    v1.2.1

    No release notes provided.

    v1.2.0

    No release notes provided.

    v1.1.0

    https://pypi.org/project/waitress/1.1.0/

    ... (truncated)

    Changelog

    Sourced from waitress's changelog.

    2.1.1

    Security Bugfix

    
    - Waitress now validates that chunked encoding extensions are valid, and don't
      contain invalid characters that are not allowed. They are still skipped/not
      processed, but if they contain invalid data we no longer continue in and
      return a 400 Bad Request. This stops potential HTTP desync/HTTP request
      smuggling. Thanks to Zhang Zeyu for reporting this issue. See
      https://github.com/Pylons/waitress/security/advisories/GHSA-4f7p-27jc-3c36
    
    • Waitress now validates that the chunk length is only valid hex digits when parsing chunked encoding, and values such as 0x01 and +01 are no longer supported. This stops potential HTTP desync/HTTP request smuggling. Thanks to Zhang Zeyu for reporting this issue. See https://github.com/Pylons/waitress/security/advisories/GHSA-4f7p-27jc-3c36

    • Waitress now validates that the Content-Length sent by a remote contains only digits in accordance with RFC7230 and will return a 400 Bad Request when the Content-Length header contains invalid data, such as +10 which would previously get parsed as 10 and accepted. This stops potential HTTP desync/HTTP request smuggling Thanks to Zhang Zeyu for reporting this issue. See https://github.com/Pylons/waitress/security/advisories/GHSA-4f7p-27jc-3c36

    2.1.0

    Python Version Support

    • Python 3.6 is no longer supported by Waitress

    • Python 3.10 is fully supported by Waitress

    Bugfix

    
    - ``wsgi.file_wrapper`` now sets the ``seekable``, ``seek``, and ``tell``
      attributes from the underlying file if the underlying file is seekable. This
      allows WSGI middleware to implement things like range requests for example
    

    See Pylons/waitress#359 and Pylons/waitress#363

    • In Python 3 OSError is no longer subscriptable, this caused failures on Windows attempting to loop to find an socket that would work for use in the trigger.

    </tr></table>

    ... (truncated)

    Commits
    • 9e0b8c8 Merge pull request from GHSA-4f7p-27jc-3c36
    • b28c9e8 Prep for 2.1.1
    • bd22869 Remove extraneous calls to .strip() in Chunked Encoding
    • d9bdfa0 Validate chunk size in Chunked Encoding are HEXDIG
    • d032a66 Error when receiving back Chunk Extension
    • 884bed1 Update tests to remove invalid chunked encoding chunk-size
    • 1f6059f Be more strict in parsing Content-Length
    • e75b0d9 Add new regular expressions for Chunked Encoding
    • 22c0394 Merge pull request #367 from Pylons/fixup/collect-wasyncore-tests
    • dc15d9f Make sure to collect all wasyncore tests
    • 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
Releases(1.28)
Unarchive Bot for Telegram

Telegram UnArchiver Bot UnArchiveBot: 🇬🇧 Bot that allows you to extract supported archive formats in telegram. 🇹🇷 Desteklenen arşiv biçimleri tele

Hüzünlü Artemis [HuzunluArtemis] 25 May 07, 2022
Use an air-gapped Raspberry Pi Zero to sign for Bitcoin transactions! (and do other cool stuff)

Hello World! Build your own offline, airgapped Bitcoin transaction signing device for less than $35! Also generate seed word 24 or generate a seed phr

371 Dec 31, 2022
The official Magenta Voice Skill SDK used to develop skills for the Magenta Voice Assistant using Voice Platform!

Magenta Voice Skill SDK Development • Support • Contribute • Contributors • Licensing Magenta Voice Skill SDK for Python is a package that assists in

Telekom Open Source Software 18 Nov 19, 2022
A Telegram Bot to prevent Night Spams

NightModeBot A Telegram Bot to lock group in night to prevent night spam Setps To Use - Put Variables Correctly. - Add Bot to your group and make admi

ReeshuXD 10 Oct 21, 2022
AirDrive lets you store unlimited files to cloud for free. Upload & download files from your personal drive at any time using its super-fast API.

AirDrive lets you store unlimited files to cloud for free. Upload & download files from your personal drive at any time using its super-fast API.

Sougata 4 Jul 12, 2022
Upvotes and karma for Discord: Heart 💗 or Crush 💔 a comment to give points to an user, or Star ⭐ it to add it to the Best Of!

🤖 Reto Reto is a community-oriented Discord bot, featuring a karma system, a way to reward the best comments, leaderboards, and so much more! React t

Erik Bianco Vera 3 May 07, 2022
A Bot To remove forwarded messages

Forward-Mess-Remover A Bot To remove forwarded messages. uses Remove forwarded messages from Group. Deploy To Heroku

SpamShield 5 Oct 14, 2022
A simple worker for OpenClubhouse to sync data.

OpenClubhouse-Worker This is a simple worker for OpenClubhouse to sync CH channel data.

100 Dec 17, 2022
This is the repository for HalpyBOT, the Hull Seals IRC Chatbot Assistant.

HalpyBOT 1.4.2 This is the repository for HalpyBOT, the Hull Seals IRC Chatbot Assistant. Description This repository houses all of the files required

The Hull Seals 3 Nov 03, 2022
All in one Search Engine Scrapper for used by API or Python Module. It's Free!

All in one Search Engine Scrapper for used by API or Python Module. How to use: Video Documentation Senginta is All in one Search Engine Scrapper. Wit

33 Nov 21, 2022
Automatically searching for vaccine appointments

Vaccine Appointments Automatically searching for vaccine appointments Usage To copy this package, run: git clone https://github.com/TheIronicCurtain/v

58 Apr 13, 2021
A simple python discord bot with commands for moderation and utility.

Discord Bot A simple python discord bot with commands for moderation, utility and fun. Moderation $kick user reason - Kick a user from the server

syn 3 Feb 06, 2022
Discord Bot for SurPath Hub's server

Dayong Dayong is dedicated to helping Discord servers build and manage their communities. Multipurpose —lots of features, lots of automation. Self-hos

SurPath Hub 6 Dec 18, 2021
Métamorphose Renamer v2

Métamorphose 2 Métamorphose is a graphical mass renaming program for files and folders. These are the command line options: -h, --help Show hel

Métamorphose 129 Dec 30, 2022
Discord-Token-Formatter - A simple script to convert discord tokens from email token to token only format

Discord-Token-Formatter A simple script to convert discord tokens from email:pas

2 Oct 23, 2022
Neko is An Anime themed advance Telegram group management bot.

NekoRobot A modular telegram Python bot running on python3 with an sqlalchemy, mongodb database. ╒═══「 Status 」 Maintained Support Group Included Free

Lovely Prince 11 Oct 11, 2022
Playing around with the slack api for learning purposes

SlackBotTest Playing around with the slack api for learning purposes and getting people to contribute Reason for this Project: Bots are very versatile

1 Nov 24, 2021
Discord bot to display private leaderboards for Advent of Code.

Advent Of Code Discord Bot Discord bot for displaying Advent of Code private leardboards, as well as custom leaderboards where participants can set th

The Future Gadgets Lab 6 Nov 29, 2022
I-Spy is a discord and twitter bot 🤖 that keeps a check on usage foul language, hate-speech and NSFW contents

I-Spy is a discord and twitter bot 🤖 that keeps a check on usage foul language, hate-speech and NSFW contents. It is the one stop solution to monitor your discord servers and twitter handles against

Tia Saxena 5 Nov 16, 2022
A Python Library to interface with Flickr REST API, OAuth & JSON Responses

Python-Flickr Python-Flickr is A Python library to interface with Flickr REST API & OAuth Features Photo Uploading Retrieve user information Common Fl

Mike Helmick 40 Sep 25, 2021