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)
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(
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)
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')
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