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
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))
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 = [ 'کاربر با موفقیت به مدیران ربات افزوده شد', 'کاربر با موفقیت از مدیران ربات حذف شد', 'کاربر با موفقیت به صاحبان گروه افزوده شد', 'کاربر با موفقیت از صاحبان گروه حذف شد', 'کاربر با موفقیت به مدیران گروه افزوده شد', 'کاربر با موفقیت از مدیران گروه حذف شد', 'این قابلیت بعدا اضافه خواهد شد.', ]
# -*- 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
# 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()
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 = []
@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)
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()}.')
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)
# -*- 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 گیگ اینترنت رایگان خود، بروی {} کلیک کنید و سپس پیام جدیدی که دریافت میکنید را برای {} نفر ارسال کنید تاکنون {} نفر روی لینک شما کلیک کرده ..."",