async def send(message: types.Message): text_arr = message.text.split(" ") target = message.reply_to_message.from_user holics = db.dbget("holics", message.from_user.id) if text_arr[1].isnumeric(): if holics >= int(text_arr[1]): await message.reply( f"💖 <i>{message.from_user.first_name}</i> отправил <i>\n@{target.username}</i> — <b>{text_arr[1]} холиков</b> 💕" ) db.post_sql( f"UPDATE users SET holics = holics - {text_arr[1]} WHERE chat_id = {message.from_user.id}" ) db.post_sql( f"UPDATE users SET holics = holics + {text_arr[1]} WHERE chat_id = {target.id}" ) else: await message.reply(f"🥺 недостаточно холиков, чувак") else: check = db.post_sql( f'SELECT * FROM items WHERE chat_id = {message.from_user.id} AND item = "{text_arr[1]}" ' ) if check: await message.reply( f"💖 <i>{message.from_user.first_name}</i> отправил <i>\n@{target.username}</i> — <b>{shop.i[text_arr[1]]['emoji']}{text_arr[1]}</b>" ) await db.add_item("-", message.from_user.id, text_arr[1]) await db.add_item("+", target.id, text_arr[1]) else: await message.reply(f"🥺 нельзя отправить то, чего нету")
async def set(message: types.Message): text_arr = message.text.split(" ") if len(text_arr) == 3: home = text_arr[1] price = text_arr[2] if not price.isnumeric(): await message.reply( f"🥺 чё-то ты не то написал \n<code>houseprice (номер_дома) (цена)</code>\nпример: <code>houseprice 5 200</code>" ) return check = db.post_sql( f"SELECT chat_id FROM assets WHERE rowid = {home} AND chat_id = '{message.from_user.id}'" ) if check: check = db.post_sql( f"SELECT dwellerinfo FROM assets WHERE rowid = {home} AND chat_id = '{message.from_user.id}'" ) if check[0][0] != "": await message.reply( f"🏠 В домике кто-то живёт. Цену можно изменить когда домик пустой" ) return await message.reply( f"🏠Да! Ты успешно изменил \nцену аренды на <b>{price}</b> 💕") db.post_sql( f"UPDATE assets SET value = {price} WHERE rowid = {home}") else: await message.reply("🥺 ты ввёл номер не своего дома") else: await message.reply( "🥺 чё-то ты не то написал \n<code>houseprice (номер_дома) (цена)</code>\nпример: <code>houseprice 5 200</code>" )
async def answer(callback_query: types.CallbackQuery): items = callback_query.data.split("_") if callback_query.from_user.id != int(items[2]): await bot.answer_callback_query(callback_query.id, text="Нельзя брать чужое 😈") return chat_id = int(callback_query.from_user.id) item = items[1] check = db.post_sql( f'SELECT * FROM items WHERE chat_id = {chat_id} AND item = "{item}" ') if check: if shop.i[item]["type"] == "food": await bot.answer_callback_query( callback_query.id, text=f"+ 🍉 {int(shop.i[item]['value'])} %") await db.add_item("-", chat_id, item) await bot.edit_message_reply_markup( callback_query.message.chat.id, callback_query.message.message_id, reply_markup=itemskeyboard(chat_id)) db.post_sql( f'UPDATE users SET hunger = hunger + {float(shop.i[item]["value"])} WHERE chat_id = {chat_id}' ) db.post_sql( f" UPDATE timers SET time = {int(time.time())} WHERE chat_id = {chat_id} AND timer = 'hunger'" ) # edit_message_reply_markup # else: await bot.send_message(callback_query.message.chat.id, f"У тебя нету {shop.i[items[1]]['emoji']}") await bot.answer_callback_query(callback_query.id)
async def com_help(message: types.Message): d_timer = db.post_sql( f"SELECT time FROM timers WHERE chat_id = {message.from_user.id} AND timer = 'daily' " ) if time.time() > d_timer[0][0]: amount = randrange(95, 200) await message.reply( f"💫┄┄┄┄┄┄┄💫\n💕 + {amount} холиков\n за дэйли-бонус 🎁\n💫┄┄┄┄┄┄┄💫" ) await message.answer_animation( "CgACAgEAAxkBAAIukWAjj4UmQmqgOWi2MQyVgy6fEEtpAAJHAAPyqYhGP9kT-1kcAUoeBA" ) db.post_sql( f"UPDATE timers SET time = {time.time()+TIMERS['daily']} WHERE chat_id = {message.from_user.id} AND timer = 'daily' " ) db.post_sql( f"UPDATE users SET holics = holics + {amount} WHERE chat_id = {message.from_user.id}" ) else: t = holy.since(d_timer[0][0] - time.time()) await message.reply(f"До дэйли-бонуса\nосталось: <b>{t}</b>\nЖди 🦖")
async def com_help(message: types.Message): text_arr = message.text.split(" ") allow = True if len(text_arr) == 2 else False if allow == False: await message.reply( "🥺 Что-то не так написал\n пример: <code>buyemoji 💩</code>") return if db.dbget("holics", message.from_user.id) < 1000: await message.reply("🥺 Недостаточно холиков, нужно 1000 💕") return emoj = text_arr[1] check = strip_emoji(emoj) if check == "emj": await message.reply(f"Поставил {emoj}") db.post_sql( f"UPDATE users SET emoj = '{emoj}' WHERE chat_id = '{message.from_user.id}' " ) db.post_sql( f"UPDATE users SET holics = holics - 1000 WHERE chat_id = '{message.from_user.id}' " ) else: await message.reply( "🥺 Что-то не так написал\n пример: <code>buyemoji 💩</code>")
def assetskeyboard(chat_id, type): if type == "myassets": items = db.post_sql( f"SELECT rowid, * FROM assets WHERE chat_id = {chat_id} ORDER BY asset" ) num = 1 inline = InlineKeyboardMarkup() btn2 = InlineKeyboardButton(f"🙅♂️ назад", callback_data=f"assets {chat_id} balance") for item in items: btn = InlineKeyboardButton( f"{shop.i[item[2]]['emoji']}\t\t{str(item[2])}", callback_data=f"assets {chat_id} check {item[0]} main") inline.add(btn) num += 1 inline.add(btn2) if type == "hometodwell": items = db.post_sql( f"SELECT rowid, * FROM assets WHERE asset = 'домик' AND dwellerinfo = '' " ) num = 1 inline = InlineKeyboardMarkup() for item in items: asset = item[2] owner = item[5].split(";")[0] price = item[4] btn = InlineKeyboardButton( f"{shop.i[item[2]]['emoji']}\t\t{asset}\t\t{owner}\t\t{price} 💕", callback_data=f"assets {chat_id} check {item[0]} hometodwell") inline.add(btn) num += 1 return inline
async def send(message: types.Message): if str(message.from_user.id) == admin_id: text_arr = message.text.split(" ") await message.reply(f"added {text_arr[1]}💕") db.post_sql( f"UPDATE users SET holics = holics + {text_arr[1]} WHERE chat_id = {admin_id}" )
async def roll(game,message): text_arr = message.text.split(" ") try: bet = int(text_arr[1]) except (ValueError, IndexError): await message.reply("Не ввёл сумму") return # if type(bet) != int: # await message.reply("Ставка должна состоять из чисел") # return if bet < 1: return if db.enoughholy(message.from_user.id,bet) is False: await message.reply("Недостаточно холиков") return profit = bet # DICE if game == "dice": dice = await bot.bot.send_dice(chat_id=message.chat.id, emoji="🎲") result = "" game = "🎲" await asyncio.sleep(3) dice = dice.dice.value if (text_arr[0].lower() == "бб" and dice < 4) or (text_arr[0].lower() == "кк" and dice > 3): result = "win" act = "+" else: result = "lose" act = "-" elif game == "ball": dice = await bot.bot.send_dice(chat_id=message.chat.id,emoji="🏀") result = "" game = "🏀" await asyncio.sleep(3.3) dice = dice.dice.value if str(dice) in ("5","4") : result = "win" act = "+" profit = bet * 2 else: result = "lose" act = "-" db.post_sql(f"UPDATE users SET holics = holics {act} {bet} WHERE chat_id = {message.from_user.id}") holics = db.dbget("holics", message.from_user.id) await message.reply(f"{game} — <i>{result}</i>\n💕 {holics} ({act}{profit})") await addxp(message.from_user.id, bet)
async def addxp(chat_id, bet): user = db.post_sql(f"SELECT * FROM users WHERE chat_id = {chat_id}") holics = user[0][2] lvl = user[0][5] oldxp = user[0][6] if holics < 500: holics = 1 elif holics >= 500 and holics < 100: holics = 1.5 elif holics >= 1000 and holics < 10000: holics = 1.7 elif holics >= 10000: holics = 2 xp = round((bet / holics) / (lvl * 50),2) db.post_sql(f"UPDATE users SET xp = xp + {round(xp,1)} WHERE chat_id = {chat_id}") if (oldxp + xp) >= (100*lvl): hol_am = ((lvl+1)*200) await bot.bot.send_message(chat_id, f"💫 Крутяк! Ты апнул новый уровень!\n И получил {hol_am} 💕") db.post_sql(f"UPDATE users SET xp = 0 WHERE chat_id = {chat_id}") db.post_sql(f"UPDATE users SET lvl = {lvl+1} WHERE chat_id = {chat_id}") db.post_sql(f"UPDATE users SET holics = holics + {int(hol_am)} WHERE chat_id = {chat_id}")
async def send(message: types.Message): if str(message.from_user.id) == admin_id: text_arr = message.text.split(" ") user = text_arr[1] money = text_arr[2] holics = int(money) * STUFF['holicsprice'] if int(money) >= 30: u_id = db.post_sql( f"SELECT chat_id FROM users WHERE username = '******' ") db.holyshit(int(u_id[0][0]), "add") check = db.post_sql( f"SELECT * FROM donaters WHERE username = '******'") if check: db.post_sql( f"UPDATE donaters SET money = money + {money} WHERE username = '******' " ) else: db.post_sql( f"INSERT INTO donaters (username, money) VALUES ('{user}', {int(money)})" ) text = f"╔═══════════════════╗\n\n\ 💖💫 <b>ОМАГАД!</b> 💫💖\n\n\ @{user}, задонатил\n\ и получил <b>💕{holics}</b>\n\n\ ╚═══════════════════╝" db.post_sql( f"UPDATE users SET holics = holics + {int(holics)} WHERE username = '******' " ) await message.reply(f"Есть! Донат для {user} добавлен в базу 👍💕") await bot.send_message(chat_id=main_chat, text=text)
async def send(message: types.Message): item = db.check_item(message.from_user.id, "отрава") if not item: await message.reply(f"Купи отраву для начала") return d_timer = db.timer_check(message.from_user.id, "otrava") if time.time() < d_timer[0][0]: t = holy.since(d_timer[0][0] - time.time()) await message.reply( f"До следующего отравления\nосталось: <b>{t}</b>\nЖди 🦖") return target = message.reply_to_message.from_user await message.reply(f"Отравил!") await db.add_item("-", message.from_user.id, "отрава") db.post_sql( f"UPDATE users SET hunger = hunger - 50 WHERE chat_id = {target.id}") db.post_sql( f"UPDATE timers SET time = {time.time()+ TIMERS['otrava']} WHERE chat_id = {message.from_user.id} AND timer = 'otrava' " )
def balance(u, type): # query = f'SELECT holics FROM users WHERE chat_id = {message.chat.id};' inline = InlineKeyboardMarkup() holics = db.dbget("holics", u.id) user = db.post_sql(f"SELECT * FROM users WHERE chat_id = {u.id}") isassets = db.post_sql(f"SELECT * FROM assets WHERE chat_id = {u.id}") name = u.first_name hunger = user[0][4] home = "🐶 бездомный\n" if user[0][4] > 0.1: h_timer = db.post_sql( f"SELECT time FROM timers WHERE chat_id = {u.id} AND timer = 'hunger' " ) hung = int(user[0][4] - (int(time.time()) - h_timer[0][0]) / STUFF['hungerdec']) hung = hung if hung >= 0.1 else 0 hunger = f"🍉 сытость: {hung} %" else: hunger = "🍉 голоден 😭" if user[0][7] != 0: # home = "🏠 живёт в домике" btn = InlineKeyboardButton( f"🏠 мой домик", callback_data=f"assets {u.id} check {user[0][7]} balance") # inline = InlineKeyboardMarkup() inline.add(btn) home = "" if isassets: assbtn = InlineKeyboardButton(f"🏩 активы", callback_data=f"assets {u.id} main") inline.add(assbtn) text = f"{name}\n💕 <b>{holics}</b> холиков \n\n{user[0][3]} {user[0][5]} уровень\n<i>({round(user[0][6],1)} XP из {user[0][5] * 100})</i>\n\n{hunger}\n{home}" holyshit = db.holyshit(u.id, "check") if holyshit: text += f"<b>Холи-щит</b> 🧿 {holy.since(holyshit)}" if type == "text": return text else: return inline
async def com_help(message: types.Message): items = db.post_sql(f"SELECT * FROM donaters ORDER BY money DESC") rate = "💫 <b>Список денежных</b> 💫\n✦ 💰 <b>красавулей!</b> 💰 ✦\n┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄" num = 1 for item in items: rate += f"\n💟 {num}\t\t💘\t\t<code>{str(item[0])}</code>\t\t <b>{timevert(int(item[1]))} <i>грн</i> 💵</b>\n" num += 1 rate += "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄\n<i>огромное спасибо всем котикам кто покупает холики,\ все денюжки идут на улучшение качества казино и качество еды владика, \ а то я уже заебался овсянку есть блять ♡</i>" await message.reply(rate)
def rate(): items = db.post_sql(f"SELECT * FROM users ORDER BY holics DESC LIMIT 10") rate = "✨ Список красавчиков ✨\n\n" num = 1 for item in items: if num == 1: rate += f"{num}\t\t🌈 {str(item[3])}\t\t<code>{str(item[1])}</code>\t\t <b>{timevert(int(item[2]))}</b> 💕\n" rate += f"┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄\n" num += 1 continue rate += f"{num}\t\t{str(item[3])}\t\t<code>{str(item[1])}</code>\t\t <b>{timevert(int(item[2]))}</b> 💕\n" num += 1 return rate
async def com_help(message: types.Message): # if message.from_user.id check = db.post_sql( f"SELECT * FROM users WHERE chat_id = {message.from_user.id}") if check: await message.reply("Йоу! У тебя уже есть аккаунт чувак 😛") return db.user_reg(message.from_user.id, message.from_user.username) await message.reply(f"🐸💖 {message.from_user.first_name},\n\ добро пожаловать в Holygame!\n\ ┄┄┄┄┄┄┄┄┄┄┄┄┄┄\n\ <b>+ 200</b> 💕холиков тебе для старта\n\ И будь добр, чекни это /help")
def itemskeyboard(chat_id): items = db.post_sql( f"SELECT * FROM items WHERE chat_id = {chat_id} ORDER BY type") num = 1 inline = InlineKeyboardMarkup() for item in items: if (item[3] == "food"): btn = InlineKeyboardButton( f"{shop.i[item[1]]['emoji']}\t\t({str(item[2])})", callback_data=f"use_{item[1]}_{chat_id}") inline.insert(btn) else: continue num += 1 return inline
async def send(message: types.Message): item = db.check_item(message.from_user.id, "динамит") if not item: await message.reply(f"Купи динамит для начала") return d_timer = db.timer_check(message.from_user.id, "dynamite") if time.time() < d_timer[0][0]: t = holy.since(d_timer[0][0] - time.time()) await message.reply( f"До следующего подрыва\nосталось: <b>{t}</b>\nЖди 🦖") return target = message.reply_to_message.from_user home = db.dbget("home", target.id) if int(home) == 0: await message.reply(f"🙉 Что ты подрывать собрался? Он на улице живёт") return await message.reply( f"🧨 {message.from_user.first_name} подорвал домик {target.first_name}!" ) await db.add_item("-", message.from_user.id, "динамит") # db.post_sql(f"UPDATE users SET hunger = hunger - 50 WHERE chat_id = {target.id}") db.post_sql( f"UPDATE timers SET time = {time.time()+20} WHERE chat_id = {message.from_user.id} AND timer = 'otrava' " ) db.post_sql( f"UPDATE assets SET state = state - 50 WHERE chat_id = {message.from_user.id} AND rowid = {home} " ) check = db.post_sql(f"SELECT state FROM assets WHERE rowid = {home}") if int(check[0][0]) <= 0: db.post_sql( f"UPDATE users SET home = 0 WHERE chat_id = {message.from_user.id}" ) db.post_sql( f"UPDATE assets SET state = 0 WHERE chat_id = {message.from_user.id} AND rowid = {home} " )
async def com_help(message: types.Message): items = db.post_sql( f"SELECT * FROM items WHERE chat_id = {message.from_user.id} ORDER BY type" ) if items: rate = f"<b>{message.from_user.first_name}</b>\n<i>твои предметы</i> 🧤\n┄┄┄┄┄┄┄┄┄\n" else: rate = f"<b>{message.from_user.first_name}</b>\nу тебя ничего нету 🙉" num = 1 # inline = InlineKeyboardMarkup() for item in items: if (item[3] == "food"): continue else: rate += f" <code>({str(item[2])})</code>\t\t{shop.i[item[1]]['emoji']}\t\t{str(item[1])}\n" num += 1 # btn_1 = InlineKeyboardButton("использовать 🧤", callback_data="shop_food") # inline = InlineKeyboardMarkup().add(btn_1) await message.reply(rate, reply_markup=itemskeyboard(message.from_user.id))
def houseundwell(text_arr, type): if type == "guest": asset = db.post_sql( f"SELECT * FROM assets WHERE rowid = {text_arr[3]}") user = asset[0][5].split(";")[2] price = int(asset[0][2]) / 3600 holics = int(asset[0][5].split(";")[5]) timepassed = int(time.time()) - int(asset[0][5].split(";")[3]) holicstoowner = int(timepassed * price) holicsback = int(holics - holicstoowner) db.post_sql( f"UPDATE assets SET dwellerinfo = '' WHERE rowid = {text_arr[3]}") db.post_sql(f"UPDATE users SET home = 0 WHERE chat_id = {user}") db.post_sql( f"UPDATE users SET holics = holics + {holicsback} WHERE chat_id = {user}" ) db.post_sql( f"UPDATE users SET holics = holics + {holicstoowner} WHERE chat_id = {asset[0][0]}" ) if type == "owner": asset = db.post_sql( f"SELECT * FROM assets WHERE rowid = {text_arr[3]}") user = asset[0][5].split(";")[2] db.post_sql( f"UPDATE assets SET dwellerinfo = '' WHERE rowid = {text_arr[3]}") db.post_sql(f"UPDATE users SET home = 0 WHERE chat_id = {user}")
def housedwellfinal(text_arr, callback_query, type): if type == "guest": user = db.post_sql( f"SELECT * FROM users WHERE chat_id = {callback_query.from_user.id}" ) db.post_sql( f"UPDATE assets SET dwellerinfo = '{callback_query.from_user.username};{user[0][3]};{callback_query.from_user.id};{int(time.time())};{text_arr[5]};{text_arr[6]}' WHERE rowid = {text_arr[3]}" ) db.post_sql( f"UPDATE users SET home = {text_arr[3]} WHERE chat_id = {callback_query.from_user.id}" ) db.post_sql( f"UPDATE users SET holics = holics - {text_arr[6]} WHERE chat_id = {callback_query.from_user.id}" ) if type == "owner": asset = db.post_sql( f"SELECT * FROM assets WHERE rowid = {text_arr[3]}") price = int(asset[0][3]) / 3600 user = db.post_sql( f"SELECT * FROM users WHERE chat_id = {callback_query.from_user.id}" ) db.post_sql( f"UPDATE assets SET dwellerinfo = '{callback_query.from_user.username};{user[0][3]};{callback_query.from_user.id};{int(time.time())}' WHERE rowid = {text_arr[3]}" ) db.post_sql( f"UPDATE users SET home = {text_arr[3]} WHERE chat_id = {callback_query.from_user.id}" )
def housecheck(user, text_arr, type): asset = db.post_sql(f"SELECT * FROM assets WHERE rowid = {text_arr[3]}") owneremoji = db.post_sql( f"SELECT emoj FROM users WHERE chat_id = {asset[0][0]}")[0][0] if asset[0][0] == user.id: visitor = "owner" else: visitor = "guest" if type == "text": if not asset[0][5]: dweller = "нихто;".split(";") dwelleremoji = "🙅♂️" timepassed = "" else: dweller = asset[0][5].split(";") dwelleremoji = db.post_sql( f"SELECT emoj FROM users WHERE chat_id = {dweller[2]}")[0][0] if int(dweller[2]) != int(asset[0][0]): timepassed = f"\n<i>осталось жить ( {holy.since(int(dweller[4]) - int(time.time()))} )</i>" else: timepassed = "" owner = asset[0][4].split(";") text = f'{shop.i[asset[0][1]]["emoji"]} {asset[0][1]} <code>({text_arr[3]})</code> | {owneremoji} <b>{owner[0]}</b>\n' text += f'┄┄┄┄┄┄┄┄┄┄┄\n' text += f'🚪 <i>Живёт:</i> {dwelleremoji} <b>{dweller[0]}</b> {timepassed}\n' text += f'💜 <i>Состояние:</i> <b>{asset[0][2]} %</b>\n' text += f'🛋️ <i>Аренда (час):</i> <b>{asset[0][3]}</b> 💕\n' return text elif type == "keyboard": back = text_arr[4] if not asset[0][5]: dweller = "нихто;🙅♂️".split(";") if visitor == "guest": btn = InlineKeyboardButton( f"🏡 заселиться", callback_data= f"assets {user.id} housedwell {text_arr[3]} {back}") elif visitor == "owner": btn = InlineKeyboardButton( f"🏡 заселиться", callback_data= f"assets {user.id} housedwellowner {text_arr[3]} {back}") timepassed = "" else: dweller = asset[0][5].split(";") timepassed = f"<i>( {holy.since(int(time.time()) - int(dweller[3]))} )</i>" if visitor == "owner": if int(dweller[2]) != int(asset[0][0]): btn = InlineKeyboardButton( f"❌ выселить {dweller[0]}", callback_data= f"assets {user.id} houseundwell {text_arr[3]} {back} fuckyou" ) else: btn = InlineKeyboardButton( f"🏡 сдать в аренду", callback_data= f"assets {user.id} houseundwellowner {text_arr[3]} {back}" ) else: btn = InlineKeyboardButton( f"❌ выселиться", callback_data= f"assets {user.id} houseundwell {text_arr[3]} {back}") if visitor == "owner" and asset[0][2] == 0: btn = InlineKeyboardButton( f"🏚 починить дом 💕500", callback_data=f"assets {user.id} repair {text_arr[3]} {back}") inline = InlineKeyboardMarkup() btn2 = InlineKeyboardButton(f"🙅♂️ назад", callback_data=f"assets {user.id} {back}") inline.add(btn).add(btn2) return inline
def housedwell(text_arr): asset = db.post_sql(f"SELECT * FROM assets WHERE rowid = {text_arr[3]}") price = int(asset[0][3]) / 3600 back = text_arr[4] # user = db.post_sql(f"SELECT * FROM users WHERE chat_id = {callback_query.from_user.id}") # db.post_sql(f"UPDATE assets SET dwellerinfo = '{callback_query.from_user.username};{user[0][3]};{callback_query.from_user.id};{int(time.time())}' WHERE rowid = {text_arr[2]}") # db.post_sql(f"UPDATE users SET home = {text_arr[2]} WHERE chat_id = {callback_query.from_user.id}") # await callback_query.message.edit_text(housecheck(callback_query.from_user,text_arr,'text'), reply_markup=housecheck(callback_query.from_user,text_arr,'keyboard')) inline = InlineKeyboardMarkup() btn1 = InlineKeyboardButton( f"1 час", callback_data= f"assets {text_arr[1]} housedwellfinal {text_arr[3]} {text_arr[4]} {int(time.time()) + 3620} {int(3600*price)}" ) btn2 = InlineKeyboardButton( f"2 часа", callback_data= f"assets {text_arr[1]} housedwellfinal {text_arr[3]} {text_arr[4]} {int(time.time()) + 7220} {int(7200*price)}" ) btn3 = InlineKeyboardButton( f"4 часа", callback_data= f"assets {text_arr[1]} housedwellfinal {text_arr[3]} {text_arr[4]} {int(time.time()) + 14420} {int(14400*price)}" ) btn4 = InlineKeyboardButton( f"8 часов", callback_data= f"assets {text_arr[1]} housedwellfinal {text_arr[3]} {text_arr[4]} {int(time.time()) + 28820} {int(28800*price)}" ) btn5 = InlineKeyboardButton( f"12 часов", callback_data= f"assets {text_arr[1]} housedwellfinal {text_arr[3]} {text_arr[4]} {int(time.time()) + 43220} {int(43200*price)}" ) btn6 = InlineKeyboardButton( f"16 часов", callback_data= f"assets {text_arr[1]} housedwellfinal {text_arr[3]} {text_arr[4]} {int(time.time()) + 57620} {int(57600*price)}" ) btn7 = InlineKeyboardButton( f"1 день", callback_data= f"assets {text_arr[1]} housedwellfinal {text_arr[3]} {text_arr[4]} {int(time.time()) + 86420} {int(86400*price)}" ) btn8 = InlineKeyboardButton( f"2 дня", callback_data= f"assets {text_arr[1]} housedwellfinal {text_arr[3]} {text_arr[4]} {int(time.time()) + 172820} {int(172800*price)}" ) btn9 = InlineKeyboardButton( f"3 дня", callback_data= f"assets {text_arr[1]} housedwellfinal {text_arr[3]} {text_arr[4]} {int(time.time()) + 259220} {int(259200*price)}" ) btn10 = InlineKeyboardButton( f"🙅♂️ назад", callback_data=f"assets {text_arr[1]} check {text_arr[3]} {text_arr[4]}" ) inline.add(btn1, btn2, btn3).add(btn4, btn5, btn6).add(btn7, btn8, btn9).add(btn10) return inline
async def answer(callback_query: types.CallbackQuery): text_arr = callback_query.data.split(" ") if callback_query.from_user.id != int(text_arr[1]): await bot.answer_callback_query(callback_query.id, text="не трогай 😈") return # -------------------------------------------------------------------# # --------------------------- H O U S E -----------------------------# if text_arr[2] == "check": await callback_query.message.edit_text( house.housecheck(callback_query.from_user, text_arr, 'text'), reply_markup=house.housecheck(callback_query.from_user, text_arr, 'keyboard')) if text_arr[2] == "housedwell": isempty = db.post_sql( f"SELECT dwellerinfo FROM assets WHERE rowid = '{text_arr[3]}' ") if isempty[0][0] != '': await bot.answer_callback_query(callback_query.id, text="домик уже занят 😈") return price = db.post_sql( f"SELECT value FROM assets WHERE rowid = '{text_arr[3]}' ") text = f"🏡 На сколько арендуем?\n<i> Владелец установил <b>{price[0][0]}</b> 💕 (за час)</i>" inline = house.housedwell(text_arr) await callback_query.message.edit_text(text, reply_markup=inline) if text_arr[2] == "housedwellfinal": isempty = db.post_sql( f"SELECT dwellerinfo FROM assets WHERE rowid = '{text_arr[3]}' ") if isempty[0][0] != '': await bot.answer_callback_query(callback_query.id, text="домик уже занят 😈") return if db.dbget("holics", callback_query.from_user.id) < int(text_arr[6]): await bot.answer_callback_query(callback_query.id, text="мало холиков 😈") return house.housedwellfinal(text_arr, callback_query, "guest") await callback_query.message.edit_text( house.housecheck(callback_query.from_user, text_arr, 'text'), reply_markup=house.housecheck(callback_query.from_user, text_arr, 'keyboard')) h = db.post_sql(f"SELECT * FROM assets WHERE rowid = '{text_arr[3]}'") owner = h[0][4].split(";")[0] await callback_query.message.answer( f"🏡 {callback_query.from_user.first_name} арендовал домик у @{owner}" ) if text_arr[2] == "houseundwell": isdweller = db.post_sql( f"SELECT dwellerinfo FROM assets WHERE rowid = '{text_arr[3]}' " )[0][0].split(";")[2] if int(isdweller) != int(callback_query.from_user.id): await bot.answer_callback_query(callback_query.id, text="что-то не так 😳") return if len(text_arr) == 6: f = True else: f = False asset = db.post_sql( f"SELECT * FROM assets WHERE rowid = {text_arr[3]}") asset = asset[0][5].split(";") if (time.time() - int(asset[3])) < 5 and f == False: await bot.answer_callback_query( callback_query.id, text="Покинуть квартиру можно минимум через 30 минут") return h = db.post_sql(f"SELECT * FROM assets WHERE rowid = '{text_arr[3]}'") if f == True: dweller = h[0][5].split(";")[0] await callback_query.message.answer( f"🏡 {callback_query.from_user.first_name} выселил @{dweller} со своего домика" ) else: owner = h[0][4].split(";")[0] await callback_query.message.answer( f"🏡 {callback_query.from_user.first_name} выселился c домика @{owner}" ) house.houseundwell(text_arr, "guest") await callback_query.message.edit_text( house.housecheck(callback_query.from_user, text_arr, 'text'), reply_markup=house.housecheck(callback_query.from_user, text_arr, 'keyboard')) if text_arr[2] == "housedwellowner": await bot.answer_callback_query(callback_query.id) house.housedwellfinal(text_arr, callback_query, "owner") await callback_query.message.edit_text( house.housecheck(callback_query.from_user, text_arr, 'text'), reply_markup=house.housecheck(callback_query.from_user, text_arr, 'keyboard')) if text_arr[2] == "houseundwellowner": await bot.answer_callback_query(callback_query.id) house.houseundwell(text_arr, "owner") await callback_query.message.edit_text( house.housecheck(callback_query.from_user, text_arr, 'text'), reply_markup=house.housecheck(callback_query.from_user, text_arr, 'keyboard')) if text_arr[2] == "repair": if db.dbget("holics", callback_query.from_user.id) < 500: await bot.answer_callback_query(callback_query.id, text="Недостаточно холиков 😢") return await bot.answer_callback_query(callback_query.id, text="👍 Ты отремонтировал домик!") db.post_sql( f"UPDATE assets SET state = 100 WHERE rowid = {text_arr[3]}") asset = db.post_sql( f"SELECT * FROM assets WHERE rowid = {text_arr[3]}") dweller = asset[0][5].split(";")[2] db.post_sql( f"UPDATE users SET home = {text_arr[3]} WHERE chat_id = '{dweller}' " ) await callback_query.message.edit_text( house.housecheck(callback_query.from_user, text_arr, 'text'), reply_markup=house.housecheck(callback_query.from_user, text_arr, 'keyboard')) # --------------------------- H O U S E -----------------------------# # -------------------------------------------------------------------# if text_arr[2] == "main": try: await callback_query.message.edit_text( assets(callback_query.from_user), reply_markup=assetskeyboard(callback_query.from_user.id, "myassets")) except: pass if text_arr[2] == "balance": await callback_query.message.edit_text( balance(callback_query.from_user, "text"), reply_markup=balance(callback_query.from_user, "keyboards")) if text_arr[2] == "hometodwell": m = "🏡 Снять квартиру\n<i>список доступных к аренде домов</i>" r = assetskeyboard(callback_query.from_user.id, "hometodwell") if not r['inline_keyboard']: m += f"\n┄┄┄┄┄┄┄┄┄┄┄\nК сожалению никто сейчас \nне сдаёт квартиру 🐶" await callback_query.message.edit_text(m, reply_markup=r) await bot.answer_callback_query(callback_query.id)
async def send(message: types.Message): d_timer = db.post_sql( f"SELECT time FROM timers WHERE chat_id = {message.from_user.id} AND timer = 'rob' " ) if time.time() < d_timer[0][0]: t = holy.since(d_timer[0][0] - time.time()) await message.reply( f"До следующего ограбления\nосталось: <b>{t}</b>\nЖди 🔫🦖") return target = message.reply_to_message.from_user await db.hunger_check(target.id) target_hunger = db.dbget("hunger", target.id) home = db.dbget("home", target.id) holyshit = db.holyshit(target.id, "check") if holyshit: await message.reply( f"<b>{target.first_name}</b> под защитой 🧿\n<code>Выбери другую жертву</code>" ) return if int(home) != 0: await message.reply(f"{target.first_name} в домике 🏠\nпососи") return if target_hunger == 0: gun = db.check_item(message.from_user.id, "пестик") if gun: chance = [1] amount_rand = [3, 3, 3, 2.5, 2.5, 2.5, 2, 1.5] else: chance = [0, 0, 0, 1] amount_rand = [7, 7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 3] if random.choice(chance) == 0: await message.reply( f"‼️ {message.from_user.first_name} попытался ограбить {target.first_name} но не получилось ..." ) db.post_sql( f"UPDATE timers SET time = {time.time()+TIMERS['rob_attempt']} WHERE chat_id = {message.from_user.id} AND timer = 'rob' " ) return amount = db.dbget("holics", target.id) amount = int(amount / int(random.choice(amount_rand))) await message.answer_animation( "CgACAgQAAxkBAAIvoWAjo96LFMGOLNYgsEQXtwmjpE5aAAJiAgAC84o0Un_UeBSZfoYGHgQ" ) await asyncio.sleep(0.2) await message.reply( f"{message.from_user.first_name} 🔫 ограбил {target.first_name} на {amount} 💕" ) db.post_sql( f"UPDATE timers SET time = {time.time()+TIMERS['rob']} WHERE chat_id = {message.from_user.id} AND timer = 'rob' " ) db.post_sql( f"UPDATE users SET holics = holics - {amount} WHERE chat_id = {target.id}" ) db.post_sql( f"UPDATE users SET holics = holics + {amount} WHERE chat_id = {message.from_user.id}" ) else: await message.reply(f"🥺 низя, жертва сыта")
def assets(user): items = db.post_sql( f"SELECT * FROM assets WHERE chat_id = {user.id} ORDER BY asset") rate = f"🏩 <b>{user.first_name}</b>\n<i>твои активы</i>\n" return rate
async def com_help(message: types.Message): db.post_sql( f"UPDATE users SET holics = holics - 5 WHERE chat_id = {message.chat.id}" ) await message.reply("минусанул")