Exemple #1
0
async def delete(ctx, *args):
    conn = conectar()
    discord_id = ctx.message.author.id
    for item in args:
        try:
            item = int(item)
            delete_discord_item(conn, discord_id, item)
            await ctx.author.send(f" Item: {item} deleted.")
        except ValueError:
            pass
    desconectar(conn)
Exemple #2
0
from crud import (conectar, desconectar, return_item_id,
                  insert_discord_request, return_discord_request,
                  delete_discord_list, delete_discord_item)
from discord.ext import commands

conn = conectar()
id_list = return_item_id(conn)
desconectar(conn)

# client = discord.Client()
client = commands.Bot(command_prefix='!')


@client.event
async def on_ready():
    print("BOT Online.")


@client.command()
async def buy(ctx, item_id: int, *, price: int):
    if item_id in id_list:
        insert_discord_request(item_id, price, ctx.message.author.id)
        await ctx.author.send(F" Added: item: {item_id}, price limit: {price}")
    else:
        await ctx.send(F" The item_id isn't valid.")


@buy.error
async def buy_error(ctx, error):
    if isinstance(error, commands.BadArgument):
        await ctx.send(
Exemple #3
0
import requests


'''

lista_itens = dict()

with open('itemjson.txt', 'r') as idb:
    arquivo = json.load(idb)
    for dic in arquivo['items']:
        lista_itens[str(dic['item_id']).lower()] = Item(dic['item_id'], dic['unique_name'], dic['name'], dic['type'],
                                                            dic['npc_price'])


'''


if __name__ == '__main__':
    idb = requests.get("https://api.originsro.org/api/v1/items/list?api_key=*")
    arquivo = idb.json()
    conn = crud.conectar()
    lista_id = crud.return_item_id(conn)
    for dic in arquivo['items']:
        if not dic["item_id"]:
            npc_sell_price = ((dic['npc_price'] // 2) * 124 // 100)
            crud.insert_item_db(conn, dic["item_id"], dic["unique_name"], dic["name"].replace("'", "''"), dic["type"],
                                dic["npc_price"], npc_sell_price, dic.get('slots', 0))
    crud.desconectar(conn)


Exemple #4
0
def daily_update(today):
    """
    :param today: date_time after dateutil.parse.isoparse.date()
    :return:
    """
    #    day_price()
    #    week_price()
    #    month_price()
    #    ...
    #    ...
    #    ...

    conn = conectar()
    for key, value in return_avg(conn, 'sell_list',
                                 str(today - timedelta(days=1))).items():
        item_class.items[key].set_v_d_avg(value)

    for key, value in return_avg(conn, 'sell_list',
                                 str(today - timedelta(days=7))).items():
        item_class.items[key].set_v_w_avg(value)

    for key, value in return_avg(conn, 'sell_list',
                                 str(today - timedelta(days=30))).items():
        item_class.items[key].set_v_m_avg(value)

    for key, value in return_avg(conn, 'sell_list', "2020-06-01").items():
        item_class.items[key].set_v_h_avg(value)

    for key, value in return_avg(conn, 'buy_list',
                                 str(today - timedelta(days=1))).items():
        item_class.items[key].set_b_d_avg(value)

    for key, value in return_avg(conn, 'buy_list',
                                 str(today - timedelta(days=7))).items():
        item_class.items[key].set_b_w_avg(value)

    for key, value in return_avg(conn, 'buy_list',
                                 str(today - timedelta(days=30))).items():
        item_class.items[key].set_b_m_avg(value)

    for key, value in return_avg(conn, 'buy_list', "2020-06-01").items():
        item_class.items[key].set_b_h_avg(value)

    for key, value in return_b_max(conn,
                                   str(today - timedelta(days=7))).items():
        item_class.items[key].set_b_w_high(value)

    for key, value in return_b_max(conn,
                                   str(today - timedelta(days=30))).items():
        item_class.items[key].set_b_m_high(value)

    for key, value in return_v_min(conn,
                                   str(today - timedelta(days=7))).items():
        item_class.items[key].set_v_w_low(value)

    for key, value in return_v_min(conn,
                                   str(today - timedelta(days=30))).items():
        item_class.items[key].set_v_m_low(value)

    # Adicionando os itens ao database:
    for item in item_class.items.values():
        if item.v_d_low == inf:
            item.v_d_low = 0

        insert_historical_sell_price(
            conn, item.id, str(today), item.v_d_low, item.v_d_low_quantity,
            item.v_d_avg, item.v_d_avg_x, item.v_w_low, item.v_w_avg,
            item.v_w_avg_x, item.v_m_low, item.v_m_avg, item.v_m_avg_x,
            item.v_h_avg, item.v_h_avg_x)
        insert_historical_buy_price(
            conn, item.id, str(today), item.b_d_high, item.b_d_high_quantity,
            item.b_d_avg, item.b_d_avg_x, item.b_w_high, item.b_w_avg,
            item.b_w_avg_x, item.b_m_high, item.b_m_avg, item.b_m_avg_x,
            item.b_h_avg, item.b_h_avg_x)

        item.reset_day()
    desconectar(conn)
    print(str(today))
    print('update_calss - Dayli Update OK')
Exemple #5
0
def update_market():
    """Atualiza o database"""
    idb = requests.get(
        "https://api.originsro.org/api/v1/market/list?api_key=*")
    arquivo = idb.json()
    conn = crud.conectar()
    api_request_id = crud.insert_api_request(conn,
                                             arquivo["generation_timestamp"])
    date_time = iso(arquivo["generation_timestamp"])
    for dic in arquivo['shops']:
        store = crud.insert_store(conn, txt(dic["title"]), txt(dic["owner"]),
                                  txt(dic["location"]["map"]),
                                  dic["location"]["x"], dic["location"]["y"],
                                  dic["creation_date"], dic["type"],
                                  api_request_id)
        if dic["type"] == "B":
            for item in dic["items"]:
                crud.insert_buy_list(conn, item["item_id"], item["amount"],
                                     item["price"], store)
                if item_class.items[item["item_id"]].b_d_high < item["price"]:
                    item_class.items[item["item_id"]].better_b_price(
                        item["price"], item["amount"], store,
                        dic["creation_date"])
                elif item_class.items[item["item_id"]].b_d_high == item["price"] and dic["creation_date"] \
                        not in item_class.items[item["item_id"]].b_store_date:
                    item_class.items[item["item_id"]].price_b_quantity(
                        item["amount"], store, dic["creation_date"])
        else:
            for item in dic["items"]:
                sell_list_id = crud.insert_sell_list(conn, item["item_id"],
                                                     item["amount"],
                                                     item["price"], store)
                if item_class.items[item["item_id"]].v_d_low > item["price"]:
                    item_class.items[item["item_id"]].better_v_price(
                        item["price"], item["amount"], store,
                        dic["creation_date"])
                elif item_class.items[item["item_id"]].v_d_low == item["price"] and dic["creation_date"] not in \
                        item_class.items[item["item_id"]].v_store_date:
                    item_class.items[item["item_id"]].price_v_quantity(
                        item["amount"], store, dic["creation_date"])

                if "refine" in item:
                    crud.insert_refine_sell_itens(conn, sell_list_id,
                                                  item["refine"])
                if "creator" in item:
                    crud.insert_creator_sell_itens(conn, sell_list_id,
                                                   item["creator"])
                if "cards" in item:
                    for card in item["cards"]:
                        crud.insert_card_sell_itens(conn, sell_list_id, card)
                if "star_crumbs" in item or "element" in item:
                    try:
                        star_crumbs = item["star_crumbs"]
                    except KeyError:
                        star_crumbs = 0
                    try:
                        stone = item["element"]
                    except KeyError:
                        stone = "Neutral"
                    crud.insert_forge_sell_itens(conn, sell_list_id,
                                                 star_crumbs, stone)
    crud.desconectar(conn)
    return date_time