Skip to main content

Library for interacting with fortnite services

Project description

fortnitepy

Supported py versions Current pypi version Donate link

Asynchronous library for interacting with Fortnite and EpicGames' API and XMPP services.

Note: This library is still under developement so breaking changes might happen at any time.

Some key features:

  • Full support for Friends.
  • Support for XMPP events including friend and party messages + many more.
  • Support for Parties.
  • Support for Battle Royale stats.

Documentation

https://fortnitepy.readthedocs.io/en/latest/

Installing

# windows
py -3 -m pip install -U fortnitepy

# linux
python3 -m pip install -U fortnitepy

Basic usage

import fortnitepy
import json
import os

from fortnitepy.ext import commands

email = 'email@email.com'
password = 'password1'
filename = 'device_auths.json'

def get_device_auth_details():
    if os.path.isfile(filename):
        with open(filename, 'r') as fp:
            return json.load(fp)
    return {}

def store_device_auth_details(email, details):
    existing = get_device_auth_details()
    existing[email] = details

    with open(filename, 'w') as fp:
        json.dump(existing, fp)

device_auth_details = get_device_auth_details().get(email, {})
bot = commands.Bot(
    command_prefix='!',
    auth=fortnitepy.AdvancedAuth(
        email=email,
        password=password,
        prompt_authorization_code=True,
        prompt_code_if_invalid=True,
        delete_existing_device_auths=True,
        **device_auth_details
    )
)

@bot.event
async def event_device_auth_generate(details, email):
    store_device_auth_details(email, details)

@bot.event
async def event_ready():
    print('----------------')
    print('Bot ready as')
    print(bot.user.display_name)
    print(bot.user.id)
    print('----------------')

@bot.event
async def event_friend_request(request):
    await request.accept()

@bot.command()
async def hello(ctx):
    await ctx.send('Hello!')

bot.run()

Authorization

How to get a one time authorization code:

  1. Log into the epic games account of your choice here.
  2. Copy the hex part from the url that shows up as showcased by the image below:

Authorization Code

Credit

Thanks to Kysune, iXyles, Vrekt and amrsatrio for ideas and/or work that this library is built upon.

Also thanks to discord.py for much inspiration code-wise.

Need help?

If you need more help feel free to join this discord server.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fortnitepy-3.6.9.tar.gz (154.2 kB view details)

Uploaded Source

File details

Details for the file fortnitepy-3.6.9.tar.gz.

File metadata

  • Download URL: fortnitepy-3.6.9.tar.gz
  • Upload date:
  • Size: 154.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for fortnitepy-3.6.9.tar.gz
Algorithm Hash digest
SHA256 556f7781b0e03c68c9f7dbb48c6eecdb3a8bbb1a1e3b9da5bbb76b4dad3f8fc5
MD5 5695ec3b1dd2b7b58fab4190f22c2b3f
BLAKE2b-256 d6309de76c625224611b378579e428a2f2238b0488dc81d5adf24fba54a57588

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page