/questreroll

Telegram bot for Fortnite StW getting daily quest and replacing bad quest.

Primary LanguagePythonMIT LicenseMIT

python 3.11 open issues closed issues Telegram Support me

❗️ Only for those who purchased a Founder's Pack before June 29, 2020

Motivation ⚡

I originally wanted to make a simple bot for daily rewards with notification, but this feature was removed from the game. I got desperate and did nothing, in July i asked to make a replace quest feature from PRO100KatYT and he inspired me. I'm too lazy to open the game every time to get a new quest or replace it, so I created this bot to do it at any time.

p.s. python is my hobby since 2012, I rarely write anything and I'm not sure about the quality of the code. This is my first github project, welcome any bug fixes! :)

Features ⚙️

  • Auto receipt of a daily quest.
  • Quest replace via buttons.
  • Rough quest completion time.
  • Auth with epic games link to auth-code.
  • Auto refresh Fortnite API tokens.
  • Filter: first user can use bot / all.
  • UX only in 2 message (hi/quest).
  • Autodetect telegram user language (compare with FN langs).
  • Change quest language (all 15 langs from Fortnite).
  • Delete all telegram trash messages.
  • Server load info, user bot stats.
  • Use .json file for "database".

Demo 🎬

Getting Started 🚀

Expand to see guide for Linux (Ubuntu)
  • Step 1: Clone the repository using command:
git clone https://github.com/zdky/questreroll.git
  • Step 2: Open project folder:
cd questreroll
  • Step 0: Add your telegram bot token to config.py:
tg_token = 'YOUR_TOKEN'
  • Step 3: Check your python version:
python3.11 --version

If your version is below 3.11, install python:

apt install software-properties-common -y
add-apt-repository "ppa:deadsnakes/ppa" -y
apt update && apt install python3.11 python3.11-venv
  • Step 4: Create virtual environment:
python3.11 -m venv .
  • Step 5: Run virtual environment:
source bin/activate
  • Step 6: Install requirements:
pip install -r requirements.txt
  • Step 7: Grant rights:
chmod +x start.py
  • Step 8: Create service:
nano /etc/systemd/system/questreroll.service
  • Step 9: Put in file questreroll.service:
[Unit]
Description=questreroll_bot
After=syslog.target
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/questreroll
ExecStart=/root/questreroll/bin/python3.11 /root/questreroll/start.py
RestartSec=5
Restart=always

[Install]
WantedBy=multi-user.target

Save and exit:

CTRL+O > Enter > CTRL+X
  • Step 10: Start service:
systemctl enable questreroll.service
systemctl start questreroll.service

Expand to see guide for debug on Linux (Ubuntu)
  • Debug: Check status service:
systemctl status questreroll
  • Debug: Check program logs:
journalctl -u questreroll.service
  • Debug: Reload service:
systemctl reload-or-restart questreroll.service
  • Stop program:
systemctl stop questreroll.service

You are a beginner and you can't get your bot to run? Write me about it! I can also add a guide for Windows.

Upcoming ⏳

  • Add the mod, "auto-replace quest with small V-bucks reward" as well as "replace difficult quests".
  • Add notifications when a "new quest appears", as well as "3/3 quests, please complete them"
  • Add translation of the entire bot into all fortnite languages.
  • Rewrite imports with best practices.

Community

Contributing 👨‍💻

Contributions of any kind are very welcome, and would be much appreciated. For Code of Conduct, see Contributor Convent.

To get started, fork the repo, make your changes, add, commit and push the code, then come back here to open a pull request. If you're new to GitHub or open source, this guide or the git docs may help you get started, but feel free to reach out if you need any support.

Submit a PR

Reporting Bugs 🕵

If you've found something that doesn't work as it should, or would like to suggest a new feature, then go ahead and raise a ticket on GitHub. For bugs, please outline the steps needed to reproduce, and include relevant info like system info and resulting logs.

Raise an Issue

Supporting ☕

Sponsor zdky

Thanks ❤️

Thanks to everyone on github who writes projects like this, you've taught me a lot.
Special thanks to PRO100KatYT for the inspiration, and also for the json file with all the quests and fortnite reroll api endpoint.

License

zdky/questreroll is licensed under MIT © zdky 2023.
For information, see TLDR Legal > MIT

Expand License
The MIT License (MIT)
Copyright (c) zdky <dodwop@gmail.com> 

Permission is hereby granted, free of charge, to any person obtaining a copy 
of this software and associated documentation files (the "Software"), to deal 
in the Software without restriction, including without limitation the rights 
to use, copy, modify, merge, publish, distribute, sub-license, and/or sell 
copies of the Software, and to permit persons to whom the Software is furnished 
to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included install 
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANT ABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note: Valid auth codes may allow an attacker to compromise your account!

Portions of the materials used are trademarks and/or copyrighted works of Epic Games, Inc.
This material is not official and is not endorsed by Epic Games, Inc.
All rights reserved by Epic Games, Inc.