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 hashes)

Uploaded Source

Supported by

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