Exemplo n.º 1
0
class TlgrmBot:
    def __init__(self, botid, chatid):
        self.botid = botid
        self.chatid = chatid
        self.bot = TeleBot(self.botid)

    def send(self, photo, caption):
        self.bot.send_photo(chat_id=self.chatid,
                            photo=photo,
                            caption=caption,
                            parse_mode="Markdown")

    def alive(self):
        try:
            self.bot.get_me()
        except Exception:
            return False
        else:
            return True
Exemplo n.º 2
0
def scrap():
    botToken = data.token
    bot = TeleBot(botToken)
    print(bot.get_me())
    bot.send_message(data.channel_id,
                     datetime.now().strftime("%d/%m/%Y, %H:%M:%S"))

    client_id = data.client_id
    client_secret = data.client_secret
    redirect_uri = data.redirect_uri

    phc = ProductHuntClient(client_id, client_secret, redirect_uri)

    count_ru_posts = 0
    count_all_posts = 0

    for post in phc.get_todays_posts():
        found = False
        count_all_posts = count_all_posts + 1
        list_of_makers = []
        for maker in post.makers:
            list_of_makers.append(maker.name)
            if (detect(maker.name) == "ru" or check(maker.name)):
                found = True

        if found == True:
            count_ru_posts = count_ru_posts + 1
            message = "Name:\n" + post.name + "\n\nDescription:\n" + post.tagline + "\n\nMakers:\n" + ", ".join(
                list_of_makers
            ) + "\n\nProductHunt Link:\n" + "https://www.producthunt.com/posts/" + str(
                post.id) + "\n\nRedirect Link:\n" + post.redirect_url
            bot.send_message(data.channel_id, message)

    message = "Totall posts today: " + str(
        count_all_posts) + "\nWith makers from CIS: " + str(count_ru_posts)
    bot.send_message(data.channel_id, message)
from telebot import TeleBot, types
from django.conf import settings
from lib import site
from .models import Printer

import logging

LOGGER = logging.getLogger(__name__)
bot = None
bot_name = None

if settings.TELEGRAM_BOT_TOKEN:
    bot = TeleBot(settings.TELEGRAM_BOT_TOKEN)
    bot_name = bot.get_me().username


def default_markup():
    markup = types.InlineKeyboardMarkup(row_width=1)
    markup.add(
        types.InlineKeyboardButton(
            'Go to The Spaghetti Detective to take a closer look.',
            url=site.build_full_url('/printers/')))
    return markup


def inline_markup(printer, buttons=['more_info']):
    links = {
        'cancel': {
            'text': 'Yes it failed. Cancel the print!',
            'url':
            site.build_full_url('/printers/{}/cancel/'.format(printer.id))
Exemplo n.º 4
0
from redis import StrictRedis
from time import sleep
from threading import Thread
from threading import Timer
from telebot import TeleBot
from multiprocessing import Process

Token = '000000000:AAAAAAAAAAAAAAAAAA-AAAAAAAAAAAA'
api_id = int('000000')
api_hash = '000000000000000000000000000'
log_channel = -1001111111111
manager = [
    198726079,
]
admin_username = '******'
redis = StrictRedis(decode_responses=True)
api = TeleBot(Token)
cli = Client('SubPyCleaner-{}'.format(api.get_me().id), api_id, api_hash,
             '0.1-SubPY', 'Python3.6', 'Ubuntu', 'fa')
mt = Client(Token, api_id, api_hash)
cmds = ['/', '!', '#']
returns = [
    'کاربر با موفقیت به مدیران ربات افزوده شد',
    'کاربر با موفقیت از مدیران ربات حذف شد',
    'کاربر با موفقیت به صاحبان گروه افزوده شد',
    'کاربر با موفقیت از صاحبان گروه حذف شد',
    'کاربر با موفقیت به مدیران گروه افزوده شد',
    'کاربر با موفقیت از مدیران گروه حذف شد',
    'این قابلیت بعدا اضافه خواهد شد.',
]
Exemplo n.º 5
0
# -*- coding: utf-8 -*-

import sys, redis, re, time
reload(sys)
sys.setdefaultencoding("utf-8")
from telebot import TeleBot, types

TOKEN = '403206452:AAGdunivaXO6ujyEsadcX5sbm_AqlOuD8mU'  #yourbottokenkey
naji = 296805034  #yourid

bot = TeleBot(TOKEN, threaded=False)
redis = redis.StrictRedis(host='localhost',
                          port=6379,
                          db=9,
                          decode_responses=True)
bot_id = bot.get_me().id


def allowed(msg):
    admin = bot.get_chat_member(msg.chat.id, msg.from_user.id)
    if admin.status == 'creator' or admin.status == 'administrator':
        return True
    elif msg.from_user.id == naji:
        return True
    elif int(redis.hget(msg.chat.id, msg.from_user.id) or 0) > int(
            redis.hget(msg.chat.id, "limit") or 1):
        return True
    else:
        return False

Exemplo n.º 6
0
    # write to the file
    with open(full_path, 'a') as _file:
        _file.write(text)


@bot.message_handler(commands=['start'])
def start_message(message: Message):
    """
    Start message.
    """
    send_message(message.chat.id,
                 "Send me your name in the following format:\nName surname")


# TODO: figure out how to deal with spam


@bot.message_handler(content_types=['text'], regexp=r'^\w+ \w+$')
def proccess_name(message):
    """
    function for messages consisting of exactly 2 words
    """
    append_to_file(DIR_TO_FILE, FILE_NAME, message.text + '\n')
    send_message(message.chat.id, "Acknowledged!")


if __name__ == "__main__":
    bot_info = bot.get_me()
    print(f"BOT STARTED: {bot_info.first_name} @{bot_info.username}")

    bot.infinity_polling()
Exemplo n.º 7
0
from states import States
from datetime import datetime, timedelta

import json
import numpy as np
import random

logging.basicConfig(
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    level=logging.INFO)

logger = logging.getLogger(__name__)

bot = TeleBot(TOKEN)

botUser = bot.get_me()


def gen_markup():
    markup = InlineKeyboardMarkup()
    markup.row_width = 2
    markup.add(InlineKeyboardButton("Join", callback_data="join"))
    return markup


team1 = []
team2 = []

players = []

Exemplo n.º 8
0
@bot.message_handler(commands)
def send_welcome(message):
    bot.send_message(
     message.from_user.id, "В каком городе тебе интересна погода?")
    ''' bot.reply_to(message, "В каком городе тебе интересна погода?") '''


@bot.message_handler(content_types)
def handle_text(message):
    ans_from_owm = get(base_url + message.text + lang + appid).text
    '''Запрос в api OpenWeatherMap'''
    weather = json.loads(ans_from_owm)
    print(weather)
    try:
        bot.send_message(
         message.from_user.id,
         'Широта: ' + str(weather['coord']['lon']) + '\n' +
         'Долгота: ' + str(weather['coord']['lat']) + '\n' +
         'Погода: ' + str(weather['weather'][0]['description']) + '\n' +
         'Температура: ' + str(round(weather['main']['temp'] - 273)) + '\n' +
         'Скорость ветра: ' + str(weather['wind']['speed']) + ' м/с')
    except Exception:
        bot.send_message(
         message.from_user.id,
         'Город не найден, попробуйте ввести в другом формате')


print(bot.get_me())
bot.polling(none_stop=True)
Exemplo n.º 9
0
def get_user(user_id):
    user = users.find_one({'id': user_id})
    if not user:
        commit = {'id': user_id, 'inventory': {}}
        users.insert_one(commit)
        return commit
    return user


def reload_bar():
    if 'bar' in globals():
        global bar
        global potions
        potions = potions_db.find_one({})
        del potions['_id']
        bar = bar_db.find_one({})
        del bar['_id']
    p = potions_db.find_one({})
    del p['_id']
    b = bar_db.find_one({})
    del b['_id']
    return b, p


bar, potions = reload_bar()
from modules.bot_keeper import keeper

keeper.bots_to_run.update({t_bot.get_me().first_name: t_bot})
print(f'Aminobots booted in {coach.time()}.')
Exemplo n.º 10
0
class BotUtil(TeleBot):
    def __init__(self, token, creator=None):
        super().__init__(token)
        self.bot = TeleBot(token)
        self.__group_admins = ['administrator', 'creator']
        self.__creator = creator

    def edit_message(self,
                     message_text,
                     chat_id,
                     message_id,
                     reply_markup=None,
                     parse_mode=None):
        return self.bot.edit_message_text(chat_id=chat_id,
                                          message_id=message_id,
                                          text=message_text,
                                          reply_markup=reply_markup,
                                          parse_mode=parse_mode)

    def reply(self,
              chat_id,
              message_text,
              message_id,
              reply_markup=None,
              parse_mode=None):
        return self.bot.send_message(chat_id,
                                     message_text,
                                     reply_to_message_id=message_id,
                                     reply_markup=reply_markup,
                                     parse_mode=parse_mode)

    @staticmethod
    def get_link(name, user_id):
        return '<a href="tg://user?id={}">{}</a>'.format(user_id, name)

    def is_admin(self, chat, user):
        chat_member = self.bot.get_chat_member(chat, user)
        if chat_member.status in self.__group_admins:
            return True
        else:
            return False

    def __admin_checks(self, chat, user, admin_user):
        if chat.type == "private":
            self.bot.send_message(
                chat.id,
                "Административные команды не работают в личных сообщениях.")
            return False
        if self.is_admin(chat.id, user.id):
            self.bot.send_message(chat.id,
                                  "Вы пытаетесь ограничить администратора.")
            return False
        if not self.is_admin(chat.id, admin_user.id):
            self.bot.send_message(chat.id, "Вы не администратор.")
            return False
        if not self.is_admin(chat.id, self.bot.get_me().id):
            self.bot.send_message(chat.id, "Я не администратор.")
            return False
        return True

    def mute(self, chat, user, admin_user, for_date=0, reason=""):
        if not self.__admin_checks(chat, user, admin_user):
            return
        now_time = int(time.time())
        until_date = now_time + for_date
        time_text = "секунд"
        date_text = for_date
        if for_date > 60:
            date_text = "минут"
            time_text = str(for_date / 60)
        elif for_date > 3600:
            date_text = "часов"
            time_text = str(for_date / 3600)
        elif for_date > 86400:
            date_text = "дней"
            time_text = str(for_date / 86400)
        tts = 'Пользователь {} ограничен на {} {}.'.format(
            self.get_link(user.first_name, user.id), time_text, date_text)
        if for_date < 60:
            tts = "Пользователь {} ограничен навсегда.".format(
                self.get_link(user.first_name, user.id))
        tts += "\nПричина: {}".format(reason)
        self.bot.restrict_chat_member(chat.id, user.id, until_date=until_date)
        self.bot.send_message(chat.id, tts, parse_mode="HTML")

    def ban(self, chat, user, admin_user, for_date=0, reason=""):
        if not self.__admin_checks(chat, user, admin_user):
            return
        now_time = int(time.time())
        until_date = now_time + for_date
        time_text = "секунд"
        date_text = for_date
        if 60 < for_date < 3600:
            date_text = "минут"
            time_text = str(for_date / 60)
        elif 3600 < for_date < 86400:
            date_text = "часов"
            time_text = str(for_date / 3600)
        elif for_date > 86400:
            date_text = "дней"
            time_text = str(for_date / 86400)
        tts = 'Пользователь {} заблокирован на {} {}.'.format(
            self.get_link(user.first_name, user.id), time_text, date_text)
        if for_date < 60:
            tts = "Пользователь {} заблокирован навсегда.".format(
                self.get_link(user.first_name, user.id))
        tts += "\nПричина: {}".format(reason)
        self.bot.kick_chat_member(chat.id, user.id, until_date=until_date)
        self.bot.send_message(chat.id, tts, parse_mode="HTML")

    def report(self, text, quiet=False):
        if self.__creator:
            if not quiet:
                print(text)
            return self.bot.send_message(self.__creator, text)

    def send_message(self,
                     chat_id,
                     text,
                     disable_web_page_preview=None,
                     reply_to_message_id=None,
                     reply_markup=None,
                     parse_mode="HTML",
                     disable_notification=None,
                     timeout=None):
        super().send_message(chat_id, text, disable_web_page_preview,
                             reply_to_message_id, reply_markup, parse_mode,
                             disable_notification, timeout)
Exemplo n.º 11
0
# -*- coding: utf-8 -*-
import redis,sys,os
from telebot import TeleBot
from telebot import types
from multiprocessing import Process, freeze_support
from khayyam import JalaliDatetime
from time import time
db = redis.StrictRedis(host='localhost', port=6379, db=14)
token = "433762647:AAFnHoCjnYRS0Qey8qPItY-5Sl322Q07Jng"
bot = TeleBot(token,threaded=True)
boti_info = bot.get_me()
admins = [438573461,304933903]
reload(sys)
sys.setdefaultencoding('utf-8')
# Values
adv_photo = "./adv.jpg"
link_cmd = "/link"
internet_cmd = "/internet"
channel = "Fun_GramTel"
members_must = 15
members_must2 = 18
internet_choices = ["ایرانسل", "همراه اول", "رایتل"]
string = {
	"start" : ""سلام {} ، {} شما بخیر
شما هم میتوانید 25 گیگابایت اینترنت رایگان هدیه بگیرید!
.
برای دریافت هدیه خود، ابتدا بروی {} کلیک و سپس اوپراتور خود را انتخاب کنید :"",
	"status" : "📊 راهنما و وضعیت من 📊",
	"status_txt" : ""برای دریافت 25 گیگ اینترنت رایگان خود، بروی {} کلیک کنید و سپس پیام جدیدی که دریافت میکنید را برای {} نفر ارسال کنید

تاکنون {} نفر روی لینک شما کلیک کرده ..."",