示例#1
0
def send():
    res = " "
    tr = ""
    if request.method == "POST":
        user_from = request.form["ids_from"].strip()
        user_to = request.form["ids_to"].strip()
        count = request.form["count"].strip()
        print(db.get_name(user_from))
        try:
            if not db.get_name(user_from) or not db.get_name(user_to):
                res = "Такого пользователя нет"
            elif user_to == user_from:
                res = "Вы пытаетесь перевести деньги самому себе"
            elif not db.sumbit_coins(user_from)[1] >= int(count) and int(
                    count) > 0:
                res = "Недостаточно монет"
            else:
                res = 0
                for i in range(int(count)):
                    db.add_transaction(user_from, user_to)
                tr = {
                    "from": db.get_name(user_from),
                    "to": db.get_name(user_to),
                    "count": count,
                    "time": str(datetime.utcnow())
                }
        except Exception as e:
            print(e)
            res = "Укажите кол-во монет"

    return render_template('send.html', res=res, tr=tr)
示例#2
0
def download_file(update, context, file_type):
    """
    This function downloads files from Telegram.
    :param update:
    :param context:
    :param file_type: `photo` or `voice`. Type of downloaded file.
    :return: old filename and new_filename if file_type is correct else False.
    filename - path to file, new_filename - filename with order number of file
    in database.
    """
    user_id = update.effective_user.id

    if file_type == 'voice':
        file_id = update.message.voice.file_id
        filename = f'{user_id}_voice.ogg'
        path = CONFIG['VOICE_FOLDER_PATH']
    elif file_type == 'photo':
        file_id = update.message.photo[-1].file_id
        filename = f'{user_id}_photo.jpg'
        path = CONFIG['PHOTO_FOLDER_PATH']
    else:
        return False

    new_file = context.bot.get_file(file_id)
    new_file.download(os.path.join(path, filename))

    conn, cursor = create_conn()

    new_filename = os.path.join(path, get_name(cursor, user_id, file_type,
                                               f'{file_type}_path'))

    close_conn(conn)

    return filename, new_filename
示例#3
0
def handle(number, message, mtype='sms'):
	
	cmd_str = message.split()
	if cmd_str[0] == "create":
		return db.create_player(number)
	elif cmd_str[0] == "round":
		round_id = db.create_round(number)
		db.join_round(number, round_id)
		return "round id %s" % round_id
	elif cmd_str[0] == "join" and len(cmd_str) == 2:
		return db.join_round(number, cmd_str[1])
	elif cmd_str[0] == "score" and len(cmd_str) == 2:
		# need the round id, current hole, and total score to send to the new
		# score command
		return db.new_add_score(number, db.get_current_round(number),
								db.get_current_hole(number), cmd_str[1], 
								int(db.get_score(number)) + int(cmd_str[1]))

	elif cmd_str[0] == "score" and len(cmd_str) == 1:
		return db.get_score(number)
	elif cmd_str[0] == "name" and len(cmd_str) == 2:
		return db.add_name(number, cmd_str[1])
	elif cmd_str[0] == "name" and len(cmd_str) == 1:
		return db.get_name(number)
	elif cmd_str[0] == 'combine' and len(cmd_str) == 3:
		return db.combine(cmd_str[1], cmd_str[2])
	elif cmd_str[0] == 'compare' and len(cmd_str) == 3:
		res = db.compare(cmd_str[1], cmd_str[2])
		if res.player1 < res.player2:
			return "%s wins by %s" % (cmd_str[1], abs(res.player1 - res.player2))
		elif res.player2 < res.player1:
			return "%s wins by %s" % (cmd_str[2], abs(res.player2 - res.player1))
		else:
			return "Tie"
	elif cmd_str[0] == 'match' and len(cmd_str) == 5:
		for player in cmd_str[1:]:
			if not check_player_name(player):
				return "Player %s not in system" % player

		team1 = combine(cmd_str[1], cmd_str[2]).split()
		team2 = combine(cmd_str[3], cmd_str[4]).split()

		if team1[1] < team2[1]:
			return "%s and %s win" % (cmd_str[1], cmd_str[2])
		elif team2[1] < team1[1]:
			return "%s and %s win" % (cmd_str[3], cmd_str[4])
		else:
			return "Tie"

	elif cmd_str[0] == 'scores' and len(cmd_str) == 1:
		scores = db.scores(number)

		return ''.join('%s:%s, ' % (str(score.hole), str(score.score)) for score in scores)

	elif cmd_str[0] == 'front' and len(cmd_str) == 1:
		return db.front_nine(number)
	elif cmd_str[0] == 'back' and len(cmd_str) == 1:
		return db.back_nine(number)
	else:
		return "invalid command"
示例#4
0
def leaderboardList():
    memberID_list = databseCommand.list_of_members()
    print('ids:', memberID_list)
    leaderboardList = []  # [[rank,name,networth,memberID]]

    for memberID in memberID_list:
        schema_leaderboard = ([
            "rank",
            databseCommand.get_name(memberID),
            net_worth(memberID), memberID
        ])
        print(schema_leaderboard)
        leaderboardList.append(schema_leaderboard)

    leaderboardList = sorted(leaderboardList, key=lambda x: x[2])

    #   print(leaderboardList)
    leaderboardList.reverse()
    #
    #  print(leaderboardList)

    for i in range(len(leaderboardList)):
        # print(i)
        leaderboardList[i][0] = i + 1

    return leaderboardList
def askAges(uuid):
   askage=['how old are you  ? ',"i'd like to know your age ? ",'tell me your age ? ']
   for i in askage:
       age=random.choice(askage)
       
   messages = [getName(db.get_name(uuid)),age]
   return messages
示例#6
0
	def print_parts(self, item_name):
		'''
		Prints list of items and the inventory quantity for the cocktail specified by item_name
		'''
		print('{}\n------------'.format(item_name))
		for item in db.get_parts(item_name):
			print('{}: {}'.format(db.get_name(item),self.inv_qty(item)))
		print('')
def getAge(uuid,inage):

    filtered = stopWords(inage)
    
    for i in filtered:
       filtered = stopWords(inage)
    for i in filtered:
        try:
            age = int(i)
        except Exception:
            continue
    #print(myname,' : ' ,age)
    messages = [str(db.get_name(uuid))+":"+str(age),askGender()]
    return messages
示例#8
0
def find_song(vol1: float, data: np.array, verbose: bool = False) -> str:
    """ Finds the name of the anime a clip occurs from. """
    start = time.time()
    songs = db.get_songs()
    pos, best, ans, best_song = 0, float("inf"), "", ""
    for path, vol2, anime in sorted(songs):
        song = audio.load_file(path)
        p, l2 = test_against(vol1, data, vol2, song)
        if l2 < best:
            pos, best, ans, best_song = p, l2, anime, db.get_name(path)
        if verbose:
            print(
                f"{db.get_name(path):<30}: {l2:<10} loss, occurs at {offset_time(p):<5} seconds in"
            )
    if verbose:
        print("-" * 10)
        print(
            f"Final answer: {ans}, song is {best_song} and clip occurs {offset_time(pos)} seconds in"
        )
        sec = round(time.time() - start, 2)
        print(
            f"{len(songs)} songs in {sec} seconds = {round(len(songs)/sec, 2)} songs per second"
        )
    return ans
示例#9
0
def checkin():
    if request.form.get('Checkin'):
        try:
            conn = db.create_connection(config.DBFile())
            id = db.insert_checkin(conn, tag=request.form['tag'])
            if id > 0:
                js = render_js('static/scripts.js', a=3000)
                return render_template('message.html',
                                       message=_('Welcome back, ') +
                                       request.form['tag'],
                                       returnscript=js)
            elif id == -2:
                return render_template(
                    'message.html',
                    message=_('Are you sure you\'re registered?'),
                    fault=True)
            else:
                js = render_js('static/scripts.js', a=30000)
                return render_template(
                    'message.html',
                    message=_('Are you already checked in?'),
                    returnscript=js,
                    fault=True)
        except:
            js = render_js('static/scripts.js', a=30000)
            return render_template(
                'message.html',
                fault=True,
                message=_('Something went wrong. Are you registered?'),
                returnscript=js)

    elif request.form.get('Checkout'):
        try:
            conn = db.create_connection(config.DBFile())
            id = db.insert_checkout(conn, tag=request.form['tag'])
            name = db.get_name(conn, request.form['tag'])
            if id > 0:
                js = render_js('static/scripts.js', a=3000)
                return render_template('message.html',
                                       message=_('See you soon, ') +
                                       request.form['tag'],
                                       returnscript=js)
            else:
                js = render_js('static/scripts.js', a=30000)
                return render_template(
                    'message.html',
                    message=_('Are you already checked out?'),
                    fault=True,
                    returnscript=js)
        except:
            js = render_js('static/scripts.js', a=30000)
            return render_template('message.html',
                                   fault=True,
                                   message=_('Something went wrong!'),
                                   returnscript=js)
    else:
        js = render_js('static/scripts.js', a=30000)
        return render_template('message.html',
                               fault=True,
                               message=_('Invalid parameter?'),
                               returnscript=js)
示例#10
0
    async def on_message(self, message):

        # Основная функция для игры и кручения казиныча
        if message.content.startswith('$play'):
            if db.check_user(str(message.author.id)):
                cont = message.content.split()
                if len(cont) > 1:
                    # Кручение на заданую ставку
                    bet = float(cont[1])
                    await roll_casino(bet, message)
                else:
                    # Кручение на 1 копейку
                    await roll_casino(1, message)

            else:
                await message.reply(
                    'Вы еще не зарегистрированы!\nДля регистрации напишите $reg'
                )

        # Регистрация нового пользователя
        if message.content.startswith('$reg'):
            if (db.check_user(str(message.author.id))):
                await message.reply(
                    'Вы уже зарегистрированы! Для просмотра баланса напишите $bal'
                )
            else:
                db.add_user(str(message.author), str(message.author.id))
                await message.reply('Вы были успешно зарегистрированы!')

        # Проверка баланса
        if message.content.startswith('$bal'):
            if (db.check_user(str(message.author.id))):
                a = db.get_bal(str(message.author.id))
                await message.reply('Ваш баланс составляет: ' + str(a[0]) +
                                    ' копеек!')
            else:
                await message.reply(
                    'Вы еще не зарегистрированы!\nДля регистрации напишите $reg'
                )

        # Вывод помощи
        if message.content.startswith('$help'):
            await message.reply(file=discord.File('img/papich.gif'))
            await message.reply(
                'Здравствуйте ' + message.author.name +
                '!\nМеня зовут Казиныч бот 🤖, я был создан специально по заказу величайших участников конференции Distance learning и призван крутить казиныч для все желающих работяг 👨‍🏭\n'
                +
                'Основная валюта в нашем казиныче - копейки 💰, но так же у нас есть специальные сезонные ивенты 🔥, так что следите за новостями\n'
                +
                'Что я могу: \n$play [ставка] - крутить казиныч\n$reg - зарегистрировать работягу в рабочий класс и выдать первые микрогрошы\n$bal - посмотреть баланс\n'
                +
                '$update - обновить свой ник в базе данных\n$trans <money> @<user>- передать средства другому игроку'
                + 'Желаю всем быть на удачичах и грошоподнималычах 🍀!')

        # Перевод денег с одного счета на другой
        if message.content.startswith('$trans'):
            if db.check_user(str(message.author.id)):
                cont = message.content.split(
                )  # Получаем все необходимые данные
                if len(cont) == 3:
                    money = float(cont[1])  # Записываем количество денег
                    recipient = str(cont[2])
                    recipient = recipient[3:len(recipient) -
                                          1]  # Записываем Id получателя
                    if db.check_user(recipient):  # Если получатель существует
                        source = str(
                            message.author.id)  # Записываем Id отправителя
                        balance = db.get_bal(source)
                        balance = float(str(
                            balance[0]))  # Получаем баланс отправителя
                        if (balance >= money):  # Если его хватает
                            balance_r = db.get_bal(recipient)
                            balance_r = float(str(
                                balance_r[0]))  # Получаем баланс получателя
                            db.update_bal(source, str(balance - money))
                            db.update_bal(recipient,
                                          str(balance_r +
                                              money))  # Обновляем балансы
                            r_n = db.get_name(str(recipient))
                            await message.reply(
                                'Операция прошла успешно!\nВы передали ' +
                                str(money) + ' копеек работяге ' + str(r_n[0]))
                        else:
                            # Если недостаточно средств
                            await message.reply(
                                'У вас недостаточно средств для перевода!')
                    else:
                        # Если получатель не найден
                        await message.reply('Данный пользователь не найден!')
                else:
                    # Вывод ошибки
                    await message.reply(
                        'Вы неправильно написали комамнду! Правильный формат - $trans [сумма] [имя + id пользователя]'
                    )

            else:
                await message.reply(
                    'Вы еще не зарегистрированы!\nДля регистрации напишите $reg'
                )

        #Обновление ника в базе данных
        if message.content.startswith('$update'):
            if db.check_user(str(message.author.id)):
                db.update_name(str(message.author.id), str(message.author))
                await message.reply('Вы успешно сменили ник на ' +
                                    str(message.author) + '!')
            else:
                await message.reply(
                    'Вы еще не зарегистрированы!\nДля регистрации напишите $reg'
                )
示例#11
0
	def get_inv(self):
		'''
		Prints a mapping of each item in your inventory to its quantity
		'''
		return [(db.get_name(key), self.inv_qty(key)) for key in self.inventory if db.get_name(key) is not None]
示例#12
0
def historical(symbol=None):
    name = db.get_name(symbol)[0][0]
    return render_template('historical.html', symbol=symbol, name=name)
示例#13
0
def realtime(symbol=None):
    name = db.get_name(symbol)[0][0]
    return render_template('realtime.html', symbol=symbol, name=name)