ALERT!
Click here to register with a few steps and explore all our cool stuff we have to offer!

Jump to content

 
3xodus's Photo
3xodus Junkie
0
Reputation
15

Likes

Information

Username Changes:
Joined: 20-08-20
Date of Birth: 32 years old - February 12, 1992
Last Visit: Apr 16 2022 10:49 PM
Profile Views: 2,067

Statistics

Posts: 281
Leecher Value:
Likes:
15
Reputation: 0
Warning level: Low
Threads: 11
Credits: 0
Vouches: 0
Trust Scan: Info
Reported posts: 4
Shouts
Loading...

Groups

Signature

Awards

Last visitors


Hidden Content
You'll be able to see the hidden content once you reply to this topic or upgrade your account.

 

FOR PRO

Follow the steps to install enlightn-pro:

1. Copy the "enlightn-pro" folder to Laravel root.

2. Add those lines to the composer.json fileJSON:
"repositories": [
    {
        "type": "path",
        "url": "./enlightn-pro"
    }
],3. Add this line to the composer.json require sectionJSON:
"require": {
   "enlightn/enlightnpro": "*",
},

4. Run those commands

Bash:
composer update

Bash:
php artisan vendor:publish --tag=enlightnpro

  • 1


#35590017 Laravel Spark Paddle & Stripe

Posted by 3xodus on 05 October 2021 - 09:38 AM

Laravel Spark is the complete recurring billing solution for Laravel. A starter-kit for your next great SaaS application.

Laravel Spark is the perfect starting point for your next big idea. When combined with a Laravel application starter kit like Laravel Jetstream or Laravel Breeze, or the frontend of your choice, Spark provides a well-designed billing management panel for your application. Spark, which is built on the power of Laravel Cashier, allows your customers to subscribe to monthly or yearly billing plans, manage their payment method, update their subscription plans, and download their receipts all from a self-contained, beautifully designed billing portal.

 

# Introduction

Laravel Spark
Supported Payment Providers
Paddle
Stripe
Frequently Asked Questions
#Laravel Spark
Laravel Spark is the perfect starting point for your next big idea. When combined with a Laravel application starter kit like Laravel Jetstream or Laravel Breeze, or the frontend of your choice, Spark provides a well-designed billing management panel for your application. Spark, which is built on the power of Laravel Cashier, allows your customers to subscribe to monthly or yearly billing plans, manage their payment method, update their subscription plans, and download their receipts all from a self-contained, beautifully designed billing portal.

 

Supported Payment Providers

Spark supports two payment providers, and purchasing a Spark license grants you the ability to use either of these payment providers. At this time, it is not possible to implement your own custom payment provider when using Spark. We'll provide a brief overview of each provider below.

#Paddle
Paddle is a robust billing provider that serves as a merchant of record for your application. Paddle removes the burden of tax compliance from your SaaS business by handling the complexity of gathering and paying your VAT for you. In addition, Paddle provides support for accepting payments from your customers via credit card or PayPal, localized pricing, and hosted invoices.

Spark's Paddle support is provided by the underlying Laravel Cashier Paddle library.

Paddle Account Approval

Your Paddle account must be approved by Paddle before you can begin using Spark. To apply for an account, please visit the Paddle website. While you are developing your application, you may use the Paddle Sandbox.

#Limitations
We have listed some known limitations of using the Paddle payment provider below:

When a recurring coupon is used while subscribing to a plan, the coupon discount will be applied on every billing cycle. However, if the subscription's quantity or plan changes, Paddle will remove the coupon from the subscription.
Because Paddle does not allow plan quantity changes during trial periods, the Paddle edition of Spark does not support requiring a credit card up front when beginning a trial. All trial periods are started without a credit card or payment method provided up front during the user's initial registration process.
#Stripe
Stripe is a global leader in payment infrastructure with direct integration with card networks and banks, a fast-improving platform, and battle-tested reliability. In addition, intelligent optimizations help increase revenue across conversion, prevent fraud, and assist with revenue recovery. Finally, Stripe provides a robust sandbox environment for you to test your application's payment system.

Spark's Stripe support is provided by the underlying Laravel Cashier Stripe library.

#Limitations
We have listed some known limitations of using the Stripe payment provider below:

The Stripe payment provider does not provide a PayPal integration.
#Frequently Asked Questions
#Is it possible to upgrade an application from Spark Classic to Spark?
No. However, we will continue to provide bug fixes and security updates to Spark Classic indefinitely.

#Does Spark support any other payment providers?
No. Spark only supports Stripe and Paddle and it is not possible for developers to customize Spark to accept additional providers. If you need to use another payment provider you should not purchase Laravel Spark.

#Am I required to use Tailwind / Blade / Vue / etc. in order to use Spark?
No. Spark's billing portal is totally isolated from the rest of your Laravel application and includes its own pre-compiled frontend assets. Your own application may be built using the frontend technologies of your choice.

#Why are my customers presented with a payment confirmation screen?
Extra verification is sometimes required in order to confirm and process a payment. When this happens, Paddle or Stripe will present a payment confirmation screen. Payment confirmation screens presented by Paddle, Stripe, or Spark may be tailored to a specific bank or card issuer's payment flow and can include additional card confirmation, a temporary small charge, separate device authentication, or other forms of verification.

 

Screen-Shot-2021-10-05-at-2-34-28-AM.png

 

 

 

 

DOWNLOAD

[hide]https://dev.azure.com/tjcrimson/_git/Laravel%20Spark%20Stripe%20and%20Paddle[/hide]


  • 1


#34792726 SoleAIO | Sneaker Bot | [CRACKED]

Posted by 3xodus on 10 August 2021 - 04:41 AM

Shiiit nice! ????
  • 1


#33965522 Laravel Nova v3-25-0 Soon 3.26.0*

Posted by 3xodus on 06 June 2021 - 04:36 PM

try

https://youtu.be/FAlRg-A-ATc

heres how to find the repo if your too stupid to actually look yourself..


  • -1


#33934195 Laravel Nova v3-25-0 Soon 3.26.0*

Posted by 3xodus on 04 June 2021 - 12:05 AM

WEB SOURCE: https://nova.laravel.com **UPDATED TO v3.29.0**

images.jpg

download.jpg

download-1.jpg

 

v3.29.0 ORION

Released Aug 17, 2021

Fixed issue with BelongsTo fields causing N+1 issues when eager loading with soft deleted records.
Fixed issue with attaching MorphToMany fields when using non-standard pivot keys.
Fixed regression when refreshing resources when using action response modals.
 

v3.28.0 ORION

Released Aug 04, 2021

Actions are now macroable.
Nova now disables global search for action events.
Nova now handles errors due to network loss and attempts to preserve form state.
Nova will now refresh the parent index view when executing actions with openInNewTab, download and modal methods.
Nova will now disable resource index sorting when retrieving search results via Scout.
Various code and test improvements.
Fixed issue with PHP 7.2 syntax compatibility.
Fixed issue with new incrementPickerHourBy and incrementPickerMinuteBy method.
Fixes issue with ambiguous ID columns on deletes with join queries.
Fixed issue with ManyToMany fields using RelatableAttachment::relationshipIsFull() check.
Fixed issue with Slug fields listening to events emitted from relation modals.
Fixed issue with BelongsTo and MorphTo fields throwing exceptions when used in fieldsForCreate and fieldsForUpdate methods.

 

v3.27.0 ORION

Released Jun 29, 2021

Added better support for overridden trashed methods from Laravel's SoftDeletes trait.
Added new Nova::whenServing method for detecting Nova inside model event callbacks and observers.
Added new Observable::make helper for registering observers just for Nova.
Added ability to customize datetime picker hour and minute increments.
Nova will now error when trying to edit an unsupported polymorphic relationship type.
Nova will no longer show an ID field link if the user isn't allowed to view the resource.
Form error handling is now more consistent.
Fixed issue where generated password reset URLS were incorrect when using subdomains.
 

v3.26.1 ORION

Released Jun 02, 2021

Fixes duplicate SQL statements when generating query for pagination count.

 

v3.26.0 ORION

Released Jun 01, 2021

Nova now shows a loading idicator when deleting resources from an index view.
Nova now allows Laravel\Nova\Query\Builder to be resolved via the IoC container.
Nova will now skip showing the form validation error for 500 errors.
Fixed issue where an Action defined as onlyOnDetail would show up in a Lens resource index.
Updated JavaScript dependencies to more secure versions.
Various code and performance improvements

 

  • v3.25.0 ORION Released May 12, 2021

Fixes issue with default values not showing on index views.

 

 

 

Nova will now only refresh metrics after a resource has been deleted or restored.
Fixed current related resource not selected after "Update & Continue" action.
Fixed issue where Nova didn't prefix some SQL queries.
Nova will now use the getMorphClass method for Trix field attachments.
Nova now allows you to use an action for both resources and standalone.

v3.24.0 ORION Released Apr 27, 2021
Nova will now use the cursor when using Scout v9.0.
Fixed issue preventing users from creating resources via a HasManyThrough field.
Fixed issue causing pivot actions to be duplicated.
Fixed issue using "Update and Continue Updating" when the resource ID changed.
Fixed issue with IDs larget than JavaScript's max allowed integer.
Fixed issue with resolving Date and DateTime field values.
Fixed issue with showing the "Create and Add Another" button on HasOne relationships.

 

  • v3.23.0 ORION Released Apr 06, 2021

Added support for Laravel Octane.
Fixed an issue with Laravel routing when declaring domains with a port number.
Fixed some visual issues with pagination.
Fixed an issue where Trend metrics didn't display correctly when a suffix is used.
Fixed an issue preventing passing Collections as Trend ranges.
Nova will now use a cursor when executing actions.
Fixed an issue preventing the proper display of the app name.
Added new allowDuplicateRelations method to relations. Fixed ability to add multiple same relationships with different pivot values. Added ability to edit specific relationship pivot data. Added ability to delete specific pivot data. Also adds ability to handle multiple, separate relationships using the same Nova Resource.
Fixed visual issue with stacked field labels.
Added ability to pause shortcuts inside Nova tools using Nova.pauseShortcuts().
Fixed visual issue with Place field suggestions.
Nova will now display the deleted model and ID on action events.
Fixed issue preventing partition metrics from rounding correctly.
Fixed issue that allows specifying arbitrary perPage params for pagination.

  •  v3.22.0 ORION Released Feb 2021

Added ability to use hideFromIndex and hideFromDetail on fields and line-items inside Stack fields.

  • v3.21.1 ORION Released Feb 2021

Added ability to differentiate between global and local search inside Nova.
Fixed issue with metric tooltip position.
Resource titles now accept a JSON/array attribute.
Nova will now automatically convert an ID to a string if out of range.
Fixed issue preventing HasOne creations when using the withDefault method on the relation.
Fixed issue preventing Action Response Modals from showing when initiated from the table row.

  • v3.21.0 ORION Released Feb 2021

Added new Action Response Modals for showing custom modals after running actions.
Added new afterValidation method to actions.
Nova will now display the parent resource when attaching relations.
Fixed issue with action logging and BooleanGroup and Json fields.
Fixed regression with relatable search results limiting.
Fixed issue where the create relation button was incorrectly shown.
Fixed issues related to BelongsTo and MorphTo fields when using bigInt.
Fixed issue where index and lens views wouldn't correctly reload when URI parameters change.
Fixed issues with timezones when using trend and value metrics.
Fixed issue where related models could be accessed and manipulated incorrectly.
Fixed issue with KeyValue field deleting the first item when updating.

  • v3.20.0 ORION Released Jan 2021

Added "spellcheck=false" to search inputs.
Nova will now rerender Trend metric charts when chart size has changed.
You may now pass a boolean or Closure to a field's searchable method.
Added new ALL helper option for filtering Value metrics.
Nova will now cancel previous resource requests if new ones are initiated.
Nova now includes all default languages for its Numbro dependency.
Nova will now respect the initialPerPage value when index is shown as a relationship.
Fixed an issue preventing Nova's filter menu dropdown from staying open when using date filters.
Fixed issue with Currency fields when trying to fill null values.
Fixed issue with callable inside Nova's provideToScript method.
Fixed issue with broken links inside of Stack fields.
Fixed issue with invalid event typehint inside Nova::booted method.
Add Resource::$relatableSearchResults to limit searchable results.

 

 

 

 

 

Download:

 


AZURE DEVOPS         

Hidden Content
You'll be able to see the hidden content once you reply to this topic or upgrade your account.


  • 3


#33073313 Hosting Bot (fuck whmcs use discord) ;)

Posted by 3xodus on 27 March 2021 - 07:57 AM

Why use WHMCS when you can have it done from your discord server!?

(CHANGE THE CREATE SERVER/CREATE USER FILE UNDER COMMANDS TO YOUR OWN SANDBOX USER / API)

const Discord = require("discord.js");
const Bot = new Discord.Client();
exports.HelperLibrary = require("./lib/Prototypes.js");
let Config = require("./config.json");
let colorizer = require("chalk")
let PREFIX = Config.PREFIX;
exports.PREFIX = PREFIX;
exports.chalk = colorizer;
Bot.on("ready", () => {
    let d = new Date();
    console.log(`[${d.toGermanTimeString()}] ${colorizer.cyan(Bot.user.username)} is ready!`);
   
});
let CommandProcessor = require("./lib/CommandProcessor.js");

Bot.on("message", message => {
    CommandProcessor.Process(message, message.author, message.channel, this, Discord);
});

Bot.login(Config.TOKEN);

DOWNLOAD:       

Hidden Content
You'll be able to see the hidden content once you reply to this topic or upgrade your account.


  • 3


#32901283 Laravel Nova v3-22-0-Leak

Posted by 3xodus on 13 March 2021 - 06:37 PM

WEB SOURCEhttps://nova.laravel.com UPDATED TO v3.3.1.0

Webp-net-resizeimage.png

 

 

v3.31.0 ORION
Released Feb 08, 2022
Added support for PHP 8.1.
Added Laravel 9 support and removed support for Laravel 7.
Improved support for Laravel Octane.
Nova now allows passing an instance of Field to the from method.
Fixed redundant call on Sparklink fields.
Fixed issue where Actions not showing on a Lens.
Fixed issue with KeyValueField showing undefined errors.
Fixed issue with BelongsTo fields skipping validation when the field is set to readonly.
Fixed issue with using JSON columns in many to many relationships.
Fixed issue with MorphTo fields relation not working correctly with readonly and searchable options on the update view.
Fixed issue with MorphTo fields loading all resources when creating via a related resource.

 

v3.30.0 ORION

Released Oct 19, 2021
Nova will now reset its pagination if the current page has be reset to the first page.
Nova will now avoid file running pruning code when unneccesary in certain contexts.
Nova now supports using redirectAfterDelete when doing a force deletion.
Nova now handles 502 errors when loading resources on the index view.
Fixed issue when accessing pivot fields from a related Resource index.
Fixed issue where computed fields were used in NotExactlyAttached validation.
Fixed issue with clicking away from a modal when using an iPad.
Fixed issue with eager loading in Global Search not working correctly.

Fixed issue with action field default values when launched from lenses.

 

v3.29.0 ORION
Released Aug 17, 2021
Fixed issue with BelongsTo fields causing N+1 issues when eager loading with soft deleted records.
Fixed issue with attaching MorphToMany fields when using non-standard pivot keys.
Fixed regression when refreshing resources when using action response modals.

 

v3.28.0 ORION
Released Aug 04, 2021
Actions are now macroable.
Nova now disables global search for action events.
Nova now handles errors due to network loss and attempts to preserve form state.
Nova will now refresh the parent index view when executing actions with openInNewTab, download and modal methods.
Nova will now disable resource index sorting when retrieving search results via Scout.
Various code and test improvements.
Fixed issue with PHP 7.2 syntax compatibility.
Fixed issue with new incrementPickerHourBy and incrementPickerMinuteBy method.
Fixes issue with ambiguous ID columns on deletes with join queries.
Fixed issue with ManyToMany fields using RelatableAttachment::relationshipIsFull() check.
Fixed issue with Slug fields listening to events emitted from relation modals.
Fixed issue with BelongsTo and MorphTo fields throwing exceptions when used in fieldsForCreate and fieldsForUpdate methods.

 

v3.27.0 ORION
Released Jun 29, 2021
Added better support for overridden trashed methods from Laravel's SoftDeletes trait.
Added new Nova::whenServing method for detecting Nova inside model event callbacks and observers.
Added new Observable::make helper for registering observers just for Nova.
Added ability to customize datetime picker hour and minute increments.
Nova will now error when trying to edit an unsupported polymorphic relationship type.
Nova will no longer show an ID field link if the user isn't allowed to view the resource.
Form error handling is now more consistent.
Fixed issue where generated password reset URLS were incorrect when using subdomains.

 

v3.26.1 ORION
Released Jun 02, 2021
Fixes duplicate SQL statements when generating query for pagination count.

 

v3.26.0 ORION
Released Jun 01, 2021
Nova now shows a loading idicator when deleting resources from an index view.
Nova now allows Laravel\Nova\Query\Builder to be resolved via the IoC container.
Nova will now skip showing the form validation error for 500 errors.
Fixed issue where an Action defined as onlyOnDetail would show up in a Lens resource index.
Updated JavaScript dependencies to more secure versions.
Various code and performance improvements

 

v3.25.0 ORION
Released May 12, 2021
Fixes issue with default values not showing on index views.
Nova will now only refresh metrics after a resource has been deleted or restored.
Fixed current related resource not selected after "Update & Continue" action.
Fixed issue where Nova didn't prefix some SQL queries.
Nova will now use the getMorphClass method for Trix field attachments.
Nova now allows you to use an action for both resources and standalone.

 

 

 

 

  • v3.24.0 ORION Released Apr 27, 2021

Nova will now use the cursor when using Scout v9.0.
Fixed issue preventing users from creating resources via a HasManyThrough field.
Fixed issue causing pivot actions to be duplicated.
Fixed issue using "Update and Continue Updating" when the resource ID changed.
Fixed issue with IDs larget than JavaScript's max allowed integer.
Fixed issue with resolving Date and DateTime field values.
Fixed issue with showing the "Create and Add Another" button on HasOne relationships.

 

 

  • v3.23.0 ORION Released Apr 06, 2021

Added support for Laravel Octane.
Fixed an issue with Laravel routing when declaring domains with a port number.
Fixed some visual issues with pagination.
Fixed an issue where Trend metrics didn't display correctly when a suffix is used.
Fixed an issue preventing passing Collections as Trend ranges.
Nova will now use a cursor when executing actions.
Fixed an issue preventing the proper display of the app name.
Added new allowDuplicateRelations method to relations. Fixed ability to add multiple same relationships with different pivot values. Added ability to edit specific relationship pivot data. Added ability to delete specific pivot data. Also adds ability to handle multiple, separate relationships using the same Nova Resource.
Fixed visual issue with stacked field labels.
Added ability to pause shortcuts inside Nova tools using Nova.pauseShortcuts().
Fixed visual issue with Place field suggestions.
Nova will now display the deleted model and ID on action events.
Fixed issue preventing partition metrics from rounding correctly.
Fixed issue that allows specifying arbitrary perPage params for pagination.

  • v3.22.0 ORION Released Feb 2021

Added ability to use hideFromIndex and hideFromDetail on fields and line-items inside Stack fields.

  • v3.21.1 ORION Released Feb 2021

Added ability to differentiate between global and local search inside Nova.
Fixed issue with metric tooltip position.
Resource titles now accept a JSON/array attribute.
Nova will now automatically convert an ID to a string if out of range.
Fixed issue preventing HasOne creations when using the withDefault method on the relation.
Fixed issue preventing Action Response Modals from showing when initiated from the table row.

  • v3.21.0 ORION Released Feb 2021

Added new Action Response Modals for showing custom modals after running actions.
Added new afterValidation method to actions.
Nova will now display the parent resource when attaching relations.
Fixed issue with action logging and BooleanGroup and Json fields.
Fixed regression with relatable search results limiting.
Fixed issue where the create relation button was incorrectly shown.
Fixed issues related to BelongsTo and MorphTo fields when using bigInt.
Fixed issue where index and lens views wouldn't correctly reload when URI parameters change.
Fixed issues with timezones when using trend and value metrics.
Fixed issue where related models could be accessed and manipulated incorrectly.
Fixed issue with KeyValue field deleting the first item when updating.

  • v3.20.0 ORION Released Jan 2021

Added "spellcheck=false" to search inputs.
Nova will now rerender Trend metric charts when chart size has changed.
You may now pass a boolean or Closure to a field's searchable method.
Added new ALL helper option for filtering Value metrics.
Nova will now cancel previous resource requests if new ones are initiated.
Nova now includes all default languages for its Numbro dependency.
Nova will now respect the initialPerPage value when index is shown as a relationship.
Fixed an issue preventing Nova's filter menu dropdown from staying open when using date filters.
Fixed issue with Currency fields when trying to fill null values.
Fixed issue with callable inside Nova's provideToScript method.
Fixed issue with broken links inside of Stack fields.
Fixed issue with invalid event typehint inside Nova::booted method.
Add Resource::$relatableSearchResults to limit searchable results.

  • v3.19.1 ORION Released Jan 2021

Fixes Resource with Scout Search having an incorrect initial order by.
Fixes popup Filter date opening.
Add Tool constructor method for compatibility with existing Tools.
v3.19.0 ORION Released Jan 2021
Nova is now compatible with PHP 8.
Added new remoteStyle method for loading remotes CSS stylesheets.
Nova now allows usage of spatie/once v3.
Added page titles to 404 and 403 views.
Refactored some code to reduce redundancy.
Fixed DateTime::createFromFormat issue when using strict types mode.
Fixed issue where Scout search queries were not displayed in rank order.
Updated Nova's migrations to store larger action events data.
Fixed issue with using unsupported withMeta method on Tools.
Updated axios depencency.

  • v3.18.0 ORION Released Dec 2020

Fixed an issue preventing lens actions from resetting.
Nova will now scroll to the top of the page when redirecting after update and deleting from resource detail.
Added new Nova booted alias for listening to the NovaServiceProviderRegistered event.
Fixed an issue preventing metrics from using the application timezone.
Updated Nova event handling to respect the values returned by the dontReport method.
Nova will now show the currency symbol on index and detail views.
Improved performance by including the current resource count when fetching resources.
Nova will now look for the singular label on the related resource for relationship fields.
Various internal testing improvments.

  • v3.17.0 ORION Released Dec 2020

Fixed an issue preventing Boolean fields from respecting their default values.
Fixed an issue causing users to be redirected to /nova-api when session expires.
Fixed issue where filter URI parameters could get too long.
Reduced XHR requests when updates Lens views.
Nova's Tool generator now sets the page title.
Nova will now set the page title for lenses.
Nova will now limit the ranges used with Trend metrics to avoid loading large amounts of data.
Nova will now eager-load relations when running actions via selected resources.
Nova will now reset the query string when navigating between resources.

  • v3.16.3 ORION Released Dec 2020

Handle nova path / on domain with custom port
Fixes invalid yarn.lock on v3.16.1 and v3.16.2
 
Download:
 

 

 

 

Hidden Content
You'll be able to see the hidden content once you reply to this topic or upgrade your account.

 

 
 
 
               


  • 3


#32740251 selly.io discord bot (pyhon)

Posted by 3xodus on 27 February 2021 - 09:20 PM

Take Payments thru your discord server!

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import discord
from discord.ext import commands
from discord.ext import tasks
import json
import datetime
import requests
TOKEN = ""
PREFIX = ""
API_KEY = ""
ROLES = []
orders = []
feedback = []
stock_list = dict()
with open('config.json') as json_file:
    data = json.load(json_file)
    TOKEN = data["token"]
    PREFIX = data["prefix"]
    ROLES = data["permission_roles"]
    API_KEY = data["shoppy_api_key"]
    CUSTOMER_ROLE = data["customer_role"]

header = {
    'Authorization': API_KEY,
    'User-Agent': 'Shoppy-Bot'
}

client = commands.Bot(command_prefix=PREFIX)
client.remove_command("help")

@tasks.loop(seconds=60)
async def update():
    global stock_list
    with open('config.json') as json_file:
        data = json.load(json_file)
        restock_channel = data["restock_channel"]
    print("=> Updating...")
    products = get_products()
    for product in products:
        if product["id"] in stock_list:
            if stock_list[product["id"]] != int(product["stock"]):
                stock_list[product["id"]] = int(product["stock"])
                if int(product["stock"]) == 1:
                    embed = discord.Embed(title="Stock warning", description=product["title"] + " is low on stock", color=discord.Color.orange())
                    await client.get_channel(restock_channel).send(embed=embed)
                elif int(product["stock"]) == 0:
                    embed = discord.Embed(title="Empty Stock", description=product["title"] + " is empty on stock",
                                          color=discord.Color.red())
                    await client.get_channel(restock_channel).send(embed=embed)
                else:
                    embed = discord.Embed(title="Product restocked", description=product["title"] + " was restocked",
                                          color=discord.Color.blue())
                    if product["stock"] == 9223372036854775807:
                        stock = "Service"
                    else:
                        stock = str(product["stock"])
                    embed.add_field(name="Stock", value=stock)
                    await client.get_channel(restock_channel).send(embed=embed)
        else:
            stock_list[product["id"]] = int(product["stock"])
    print("=> Update finished ")

@client.command(name="help")
async def help(ctx):
    embed = discord.Embed(title="Help", description="See all Commands for "+client.user.name, color=discord.Color.blue())
    embed.add_field(name=PREFIX+"help", value="Displays the help", inline=False)
    embed.add_field(name=PREFIX+"stock", value="Displays the current stock", inline=False)
    embed.add_field(name=PREFIX+"verify <order_id>", value="Adds customer role to an user", inline=False)
    if has_permissions(ctx):
        embed.add_field(name=PREFIX+"checkorder <order_id>", value="Prints all information about an order", inline=False)
        embed.add_field(name=PREFIX+"replace <order_id> <amount>", value="Replace account from shoppy stock", inline=False)
    await ctx.send(embed=embed)

@client.command(name="verify")
async def verify(ctx, order_id):
    user = ctx.message.author
    order_information = get_order_information(order_id)
    if "status" in order_information and order_information["status"] is False:
        embed = discord.Embed(title="Order not found",
                              description="This order was not found",
                              color=discord.Color.red())
        await ctx.send(embed=embed)
        await ctx.message.delete()
        return
    if not order_information["paid_at"]:
        embed = discord.Embed(title="Order not confirmed",
                              description="This order is not confirmed yet. Please try again later",
                              color=discord.Color.orange())
        await ctx.send(embed=embed)
        await ctx.message.delete()
        return
    await user.add_roles(discord.utils.get(ctx.message.guild.roles, id=CUSTOMER_ROLE))
    embed = discord.Embed(title="Success", description="You should have received the customer role now!",
                          color=discord.Color.green())
    await ctx.send(embed=embed)
    await ctx.message.delete()

@client.command(name="checkorder")
async def checkorder(ctx, order_id):
    if not has_permissions(ctx):
        embed = discord.Embed(title="No permission",
                              description="You don't have the permissions to execute this command",
                              color=discord.Color.red())
        await ctx.send(embed=embed)
        return
    order_information = get_order_information(order_id)
    if "status" in order_information and order_information["status"] is False:
        embed = discord.Embed(title="Order not found",
                              description="This order was not found",
                              color=discord.Color.red())
        await ctx.send(embed=embed)
        return
    embed = discord.Embed(title="Order information", description="Order ID: "+order_information["id"], color=discord.Color.blue())
    embed.add_field(name="Email", value=order_information["email"], inline=False)
    embed.add_field(name="Product Name", value=order_information["product"]["title"], inline=False)
    embed.add_field(name="Confirmations", value=str(order_information["confirmations"]), inline=False)
    embed.add_field(name="Price", value=str(order_information["price"])+str(order_information["currency"]), inline=False)
    embed.add_field(name="Created at", value=order_information["created_at"], inline=False)
    embed.add_field(name="Gateway", value=order_information["gateway"], inline=False)
    embed.add_field(name="Quantity", value=order_information["quantity"], inline=False)
    if order_information["paid_at"]:
        embed.add_field(name="Paid at", value=order_information["paid_at"], inline=False)
    if order_information["transaction_id"]:
        embed.add_field(name="Transaction ID", value=order_information["transaction_id"], inline=False)
    if order_information["crypto_address"]:
        embed.add_field(name="Crypto Address", value=order_information["crypto_address"], inline=False)
    await ctx.send(embed=embed)
    embed = discord.Embed(title="Delivered Goods", description="Order ID: "+order_information["id"], color=discord.Color.blue())
    count = 0
    for account in order_information["accounts"]:
        if count % 25 == 0 and count / 25 != 0:
            await ctx.send(embed=embed)
            embed = discord.Embed(title="Delivered Goods", description="Page " + str(round(count / 25) + 1),
                                  color=discord.Color.blue())
        embed.add_field(name="`" + str(count) + "`", value=str(account["account"]), inline=False)
        count = count + 1
    await ctx.send(embed=embed)

@client.command(name="stock")
async def stock(ctx):
    embed = discord.Embed(title="Stock", color=discord.Color.blue())
    count = 0
    for product in get_products():
        if count % 25 == 0 and count / 25 != 0:
            await ctx.send(embed=embed)
            embed = discord.Embed(title="Stock", description="Page " + str(round(count / 25) + 1),
                                  color=discord.Color.green())
        if product["stock"] == 9223372036854775807:
            stock = "Service"
        else:
            stock = str(product["stock"])
        embed.add_field(name=product["title"], value=stock, inline=False)
    await ctx.send(embed=embed)

@client.command(name="replace")
async def replace(ctx, order_id, amount : int):
    if not has_permissions(ctx):
        embed = discord.Embed(title="No permission",
                              description="You don't have the permissions to execute this command",
                              color=discord.Color.red())
        await ctx.send(embed=embed)
        return
    order_information = get_order_information(order_id)
    if "status" in order_information and order_information["status"] is False:
        embed = discord.Embed(title="Order not found",
                              description="This order was not found",
                              color=discord.Color.red())
        await ctx.send(embed=embed)
        return
    product_info = order_information["product"]
    replacement =[]
    stock = product_info["accounts"]
    new_stock = []
    count = 0
    for i in range(len(stock)):
        if count < amount:
            replacement.append(stock[i]["account"])
        else:
            new_stock.append(stock[i]["account"])
        count = count+1
    data = {
        "title": product_info["title"],
        "price": product_info["price"],
        "type": product_info["type"],
        "email.enabled": True,
        "currency": product_info["currency"],
        "accounts": new_stock
    }
    up_header = {
        'Authorization': API_KEY,
        'Accept': 'application/json',
        'Content-Type': 'application/json',
        'User-Agent': 'Shoppy-Bot'
    }
    r = requests.post("https://shoppy.gg/api/v1/products/"+product_info["id"], json=data, headers=up_header,
                      verify=False)
    embed = discord.Embed(title="Replaced Order", description="Amount: "+str(amount), color=discord.Color.green())
    embed_c = 0
    for account in replacement:
        if embed_c % 25 == 0 and embed_c / 25 != 0:
            await ctx.send(embed=embed)
            embed = discord.Embed(title="Delivered Goods", description="Page " + str(round(embed_c / 25) + 1),
                                  color=discord.Color.blue())
        embed.add_field(name="Replaced Account", value=str(account), inline=False)
        embed_c = embed_c + 1
    await ctx.send(embed=embed)

@client.event
async def on_ready():
    printBanner()
    print("=> Command Prefix is " + PREFIX)
    print('=> Logged in as {0.user}'.format(client))
    game = discord.Game(name=PREFIX+"help")
    await client.change_presence(status=discord.Status.online, activity=game)
    set_default()
    update.start()

# Helper Functions
def printBanner():
    print("-------------------------------------------")
    print("SHOPPY BOT")
    print("-------------------------------------------")
    print("=> Started Shoppy Bot by Nergon#4972")

def set_default():
    global stock_list
    for product in get_products():
        stock_list[product["id"]] = int(product["stock"])

def has_permissions(ctx):
    for role_id in ROLES:
        role = discord.utils.get(ctx.guild.roles, id=role_id)
        if role in ctx.author.roles:
            return True
    return False

def get_order_information(order_id):
    r = requests.get(url="https://shoppy.gg/api/v1/orders/"+order_id, headers=header, verify=False)
    return json.loads(r.text)

def get_products():
    r = requests.get(url="https://shoppy.gg/api/v1/products/", headers=header, verify=False)
    return json.loads(r.text)

client.run(TOKEN)

Hidden Content
You'll be able to see the hidden content once you reply to this topic or upgrade your account.


  • 1


#32110979 <INSTANTCRYPTO> 38$ WEEKLY WORTH OF BTC

Posted by 3xodus on 17 January 2021 - 02:40 PM

nice!! :wub:


  • 1


#31352239 $5 TWITCH AFFILIATE ACCOUNTS - CHEAPEST ACCS ON THE MARKET - SOCIAL SUPERIOR

Posted by 3xodus on 03 December 2020 - 07:53 PM

Vouch!!! affiliated my current account! thanks<3
  • 1


-->