예제 #1
0
async def bot_start_admin(message: types.Message):
    user_id = message.from_user.id
    username = message.from_user.username
    full_name = message.from_user.full_name
    if not db.select_user(user_id=user_id):
        db.add_user(user_id, username, full_name)
    count_users = db.count_users()[0]
    bot_username = (await bot.get_me()).username
    id_referral = db.get_id(user_id)[0]
    bot_link = "https://t.me/{bot_username}?start={id_referral}".format(
        bot_username=bot_username, id_referral=id_referral)
    balance = db.check_balance(user_id)[0]
    promo = db.get_promo(user_id)[0]
    text = f"""
    Сейчас в базе {count_users} человек!

    Ваша реферальная ссылка: {bot_link}

    Ваш промокод: {promo}

    Проверить рефералов можно по команде: /referrals
    Установить/показать промокод по команде: /promo
    Посмотреть все товары по команде: /items
    Добавить товар по команде: /add_item

    Ваш баланс: {balance} монет.
            """
    await message.answer(
        f"Добро пожаловать, <b>Администратор - {full_name}!</b>"
        f"{text}")
예제 #2
0
파일: start.py 프로젝트: m0rtal/t-rss
async def bot_start(message: types.Message):
    await message.answer(f"Привет, {message.from_user.full_name}!",
                         reply_markup=ReplyKeyboardRemove())
    if not db.select_user(user_id=message.from_user.id):
        await message.answer("Добавляем тебя в БД...")
        db.add_user(message.from_user.id)
    await message.answer("Готов к работе!", reply_markup=add_feed)
예제 #3
0
async def eisenhower_answer(message: types.Message, state=FSMContext):
    data = await state.get_data()
    smart = data.get("answer1")
    eisenhower = message.text
    status = True
    while status:
        if eisenhower == "🟢Да":
            eisenhower = 1
            status = False
        elif eisenhower == "🔴Нет":
            eisenhower = 0
            status = False
        else:
            await message.answer("Нажмите на одну из кнопок выбора")
            return

    post = {
        "_id": message.from_user.id,
        "name": message.from_user.full_name,
        "smart": smart,
        "eisenhower": eisenhower
    }

    try:
        db.add_user(post)
        await message.answer("Регистрация Успешна", reply_markup=menu)
    except pymongo.errors.DuplicateKeyError:
        await message.answer("Вы уже зарегистрированны", reply_markup=menu)
    await state.finish()
async def start(message: types.Message):
    try:
        db.add_user(user_id=message.from_user.id, )
    except sqlite3.IntegrityError as err:
        print(err)
    await message.answer(
        f'Hi, {message.from_user.full_name}, my commands: /settings, /next')
예제 #5
0
async def bot_start(message: types.Message):
    db.add_user(name=message.from_user.full_name)
    await message.answer('\n'.join([
        f'Добро пожаловать, {message.from_user.get_mention()}!',
        f"Этот бот поможет вам в том, чтобы хранить фильмы и напоминать о том, что вы хотели их посмотреть",
        f"Напишите /watched, чтобы добавить первые фильмы в вашу библиотеку \"Просмотрено\"",
        f"Напишите /help, чтобы ознакомиться со всеми командами"
    ]))
예제 #6
0
async def bot_start(message: types.Message):
    try:
        db.add_user(message.from_user.id)
    except sqlite3.IntegrityError as err:
        print(err)
    await message.answer("\n".join([
        f"Привет, {message.from_user.full_name}!",
        f"Ты был занесён в базу пользователей",
        f"Всего пользователей: {db.count_users()}"
    ]),
                         reply_markup=startmenu)
예제 #7
0
async def bot_start(message: types.Message):
    name = message.from_user.full_name
    try:
        db.add_user(id=message.from_user.id, name=name)
    except sqlite3.IntegrityError as err:
        print(err)
    count = db.count_users()[0]
    await message.answer("\n".join([
        f'Привет, {message.from_user.full_name}!',
        f'Ты был занесен в базу',
        f'В базе <b>{count}</b> пользователей',
    ]))
예제 #8
0
파일: start.py 프로젝트: vokasi1417/bot-tg
async def bot_start(message: types.Message):
    await message.answer(f'Привет, {message.from_user.full_name}')
    name = message.from_user.full_name
    try:
        db.add_user(id=message.from_user.id, name=name)
    except sqlite3.IntegrityError as err:
        print(err)
    if message.from_user.id in ADMIN_IDS:
        reply_markup = admin_button
    else:
        reply_markup = movie
    await message.answer('Стартуем', reply_markup=reply_markup)
예제 #9
0
async def bot_start(message: types.Message):
    name = message.from_user.full_name
    try:
        db.add_user(id=message.from_user.id, name=name)
    except sqlite3.IntegrityError as err:
        print(err)
    count = db.count_users()[0]
    await message.answer("\n".join([
        f'Привет, {message.from_user.full_name}!',
        f'Ты был занесен в базу',
        f'В базе <b>{count}</b> пользователей',
        f'Чтобы добавить в базу свой эмейл необходимо ввести команду /email',
        f'Чтобы посмотреть справку со всеми доступными командами можно ввести команду /help',
    ]))
예제 #10
0
async def bot_start(message: types.Message, state: FSMContext):
    name = message.from_user.full_name
    try:
        db.add_user(id=message.from_user.id, name=name)
    except sqlite3.IntegrityError as err:
        print(err)

    await message.answer(
        f'Привет! {message.from_user.full_name}! \n '
        'Добро пожаловать в Cloud VPS бота. \n'
        'Я помогу облегчить твою работу с Облачными серверами Reg.ru. \n\n'
        'Для начала, давай получим доступ к твоему окружению. \n'
        'Отправь мне свой API-Ключ',
        reply_markup=help_token_url)

    await state.set_state('NoToken')
예제 #11
0
async def bot_start(message: types.Message):
    await message.answer(f'Здравствуйте, {message.from_user.full_name}! 😎😉1️⃣'
                         f'\nДля получения списка доступных команд нажми /help')
    # await message.answer_document(types.InputFile("data/Rostov-na-donu.png"), caption="Вот ваша секретная покупка!")
    # если хотим обнулять рейтинг человека, расскомментировать нижестоящую строчку
    # db.update_rating(id=message.from_user.id, rating=0.0)

    # если Бд уже есть, печатаем ошибку
    try:
        db.add_user(id=message.from_user.id, name=message.from_user.full_name)

    except Exception as error:
        print(error)

    # Забираем 1-ое значение в базе
    count_users_db = db.count_users()[0]
    await message.answer(f'В базе сейчас <b><i>{count_users_db}</i></b> пользователей')
예제 #12
0
async def bot_start(message: types.Message):
    name = message.from_user.full_name
    try:
        db.add_user(id=message.from_user.id, name=name)
    except sqlite3.IntegrityError as err:
        print(err)

    photo = InputFile(path_or_bytesio="photos/photo1.jpg")
    await bot.send_photo(
        chat_id=message.from_user.id,
        photo=photo,
        caption=
        (f'Привет, {message.from_user.full_name}!\n\n'
         f'Я твой финансовый бот-помошник 😊\n'
         f'Я могу помочь тебе получить деньги на самых выгодных условиях под 0%!\n'
         f'Для этого мне нужно задать пару вопросов.\n\n'
         f'Жми на кнопку «Запустить»👇'),
        reply_markup=start_button)
예제 #13
0
async def bot_start(message: types.Message):
    # SET ARGS
    user_id = message.from_user.id
    username = message.from_user.username
    full_name = message.from_user.full_name

    # CHECK IF IN DB
    if not db.select_user(user_id=user_id):
        # CHECK REFERRAL
        try:
            referral = message.get_args()
            # CHECK IF FROM INLINE MODE
            if referral == "connect_user":
                await message.answer(
                    "Чтобы использовать этого бота введите код приглашения, либо пройдите по реферальной ссылке",
                    reply_markup=send_promo)
                return
        except ValueError:
            await message.answer(
                "Чтобы использовать этого бота введите код приглашения, либо пройдите по реферальной ссылке",
                reply_markup=send_promo)
            return

        # ADD USER TO DB
        db.add_user(user_id, username, full_name, referral)
        await message.answer("Вы зарегистрированы!")
        # ADD MONEY FOR REFERRAL ADN NOTIFY USER
        ref_user_id = db.get_user_id(referral)[0]
        db.add_money(10, ref_user_id)
        await ref_notify(dp, ref_user_id, f"У вас новый реферал, +10 монет!")

    bot_username = (await bot.get_me()).username
    id_referral = db.get_id(user_id)[0]
    bot_link = "https://t.me/{bot_username}?start={id_referral}".format(
        bot_username=bot_username, id_referral=id_referral)
    balance = db.check_balance(user_id)[0]
    text = f"""
Ваша реферальная ссылка: {bot_link}
Проверить рефералов можно по команде: /referrals
Установить/показать промокод по команде: /promo

Ваш баланс: {balance} монет.
        """
    await message.answer(text, reply_markup=change_to_inline)
예제 #14
0
async def add_user_promo(message: types.Message, state: FSMContext):
    # SET ARGS
    user_id = message.from_user.id
    username = message.from_user.username
    full_name = message.from_user.full_name
    # CHECK PROMO
    if not db.check_promo(message.text):
        await message.answer("Такого промокода не существует.",
                             reply_markup=ReplyKeyboardRemove())
    else:
        # ADD USER TO DB BY PROMO
        referral = db.check_promo(message.text)[0]
        db.add_user(user_id, username, full_name, referral)
        await message.answer("Вы зарегистрированы!")
        # ADD MONEY FOR REFERRAL ADN NOTIFY USER
        ref_user_id = db.get_user_id(referral)[0]
        db.add_money(10, ref_user_id)
        await ref_notify(dp, ref_user_id, f"У вас новый реферал, +10 монет!")
    await state.finish()
예제 #15
0
async def auth_handler(message: types.Message):
    try:
        id_ = message.from_user.id
        phone = message.contact.phone_number
        response = requests.get(
            "https://app.carspass.ru/webhook/telegram",
            params={"phone": phone}
        )
        response_json = json.loads(response.text)
        if response.status_code == 200:
            code = response_json['code']
            try:
                db.add_user(id_, phone, code)
                await new_user_notify(dp, message)
            except sqlite3.IntegrityError:
                pass
            await message.answer(MESSAGES['auth_success'].format(code))
        else:
            await message.answer(MESSAGES['auth_fail'])
    except Exception as err:
        await error_notify(dp, err)
        logger.error(f"Something went wrong: {err}")
예제 #16
0
async def bot_start(message:types.Message):
    user_id = message.from_user.id
    name = message.from_user.full_name
    user_in_db = db.select_user(id=user_id)

    if len(user_in_db) == 0:
        text = f'''
            Здравствуйте, {name}! Ваш запрос в обработке.
        '''

        try:
            db.add_user(id=user_id, name=name)
        except sqlite3.IntegrityError as err:
            print(err)
        
        # for admin in super_admins:
        #     await bot.send_message(chat_id=admin, text=f'поступил новый запрос от {name}')
        # text = f'поступил новый запрос от {name}'
        await notify_someone(f'поступил новый запрос от {name}', 'admin')
        

        await bot.send_message(chat_id=user_id, text=text)

    else:
        status = [item for t in user_in_db for item in t][2]
        list_rights = {
            'admin': {
                'message': 'ваши права  - администратор. Используйте меню.',
                'keyboard': create_kb_coustom_main_menu(user_id)
            },
            'changer': {
                'message': 'ваши права - чейнджер.',
                'keyboard': None
            },
            'operator': {
                'message': 'ваши права - оператор.',
                'keyboard': None
            },
            'secretary': {
                'message': 'ваши права - секретарь.',
                'keyboard': None
            },
            'executor': {
                'message': 'ваши права - исполнитель.',
                'keyboard': None
            },
            'permit': {
                'message': 'вы можете заказать пропуск.',
                'keyboard': None
            },
            'request': {
                'message': 'ваш запрос в обработке.',
                'keyboard': None
            }
        }
        
        for item in list_rights.keys():
            if item == status:
                text = f'{name}, {list_rights[status]["message"]}'
                reply_markup = list_rights[status]['keyboard']

                break

        await bot.send_message (
            chat_id=user_id,
            text=text,
            reply_markup=create_kb_coustom_main_menu(user_id)
        )

        return