Exemple #1
0
from quart import Quart, request
import socket
from telethon import TelegramClient
import bot
import json

app = Quart(__name__)

bot.init_bot()


@app.route('/')
def hello_world():
    return 'Telegram bot is Running!'


@app.route('/get_user_count', methods=['POST'])
async def get_user_count():
    try:
        data = await request.json
        result = await bot.get_users_count(data['topic'])
        return str({'count': result})
    except Exception:
        return "Server error!"


@app.route('/invite_user', methods=['POST'])
async def invite_user():
    try:
        data = await request.json
        result = await bot.create_chat(data['user_name'], data['topic'])
    logging.debug("water level: " + ("ok" if check_water_level() else "low"))
    exit()

logging.debug("Script started " + get_time())
logging.debug("time for watering=" + str(config.DEF_TIME_WATER_S))

last_updated = watering_info()
logging.debug("readed last_updated time " + get_time(last_updated.time) +
              ", count= " + str(last_updated.count))


def GetWaterLevel():
    return water_low_level


init_bot(GetWaterLevel, do_watering)

#   MAIN
if __name__ == "__main__":
    time_wait = config.DEF_TIME_WAIT_DAYS
    while True:
        try:
            if (datetime.now() -
                    last_updated.time) > timedelta(time_wait) or args.now:
                time_wait = do_watering()
            else:
                sleep(300)
        #        logging.debug("time not expired, sleeping " + get_time())
            if args.now:
                break
        except Exception as e:
Exemple #3
0
# -*- coding: utf-8 -*-
import configparser
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.interval import IntervalTrigger

from bot import init_bot
from db import create
from db.team import Team, TeamError
from run_bot import scheduler
config = configparser.ConfigParser()
config.read('bot.conf')
admin_bot_uid = config['admin_uid']
bot = init_bot(admin_bot_uid)


def send_message():
    try:
        db = create()
        cur = db.cursor()
        sql = '''select * from main.message_to_send where time_to_send <= datetime('now', 'localtime') and status = 0'''
        cur.execute(sql)
        rows = cur.fetchall()
        for row in rows:
            print 'sending %s' % row['message_text']
            bot.sendMessage(chat_id="@enscp", text=row['message_text'])
        sql_update = '''update main.message_to_send 
                           set status = 1 
                         where time_to_send <= datetime('now', 'localtime') and status = 0'''
        cur.execute(sql_update)
        cur.close()
        db.commit()
Exemple #4
0
import bookeo
import fb_handler

#------ READ VAR FROM env file -----------
from dotenv import load_dotenv
load_dotenv()

BOOKEO_API_SECRET_KEY = os.getenv("BOOKEO_API_SECRET_KEY")
BOOKEO_API_TOKEN_KEY = os.getenv("BOOKEO_API_TOKEN_KEY")
BOOKEO_API_BASE_URL = os.getenv("BOOKEO_API_BASE_URL")

FB_VERIFY_TOKEN = os.getenv("FB_VERIFY_TOKEN")
FB_PAGE_ACCESS_TOKEN = os.getenv("FB_PAGE_ACCESS_TOKEN")

#-------- Init FB bot ---------------------
bot = bot.init_bot(FB_PAGE_ACCESS_TOKEN)

#-------- Init Flask app ------------------
app = flask.Flask(__name__)
app.config["DEBUG"] = True

#-------- App Route -----------------------
@app.route('/webhook', methods=['GET'])
def webhook_get():
    # Check if data is correct
    mode = request.args.get('hub.mode')
    token = request.args.get('hub.verify_token')
    challenge = request.args.get('hub.challenge')

    if mode=='subscribe' and token == FB_VERIFY_TOKEN :
        resp = Response(challenge, status=200)
Exemple #5
0
# -*- coding: utf-8 -*-
import configparser
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.interval import IntervalTrigger

from bot import init_bot
from db import create
from db.team import Team, TeamError
from study import study_job
from study.Searcher import Searcher

config = configparser.ConfigParser()
config.read('bot.conf')

bot_uid = ''
bot = init_bot(bot_uid)
scheduler = BackgroundScheduler()


def handle(msg):
    team = Team()
    con = create()
    reply_to_message_id = msg['message_id']
    chat_id = msg["chat"]["id"]
    team_name = team.get_team_by_chat(chat_id)
    message_text = '%s' % msg['text'].encode("utf-8")
    print message_text
    if message_text == '/ping':
        bot.sendMessage(chat_id,
                        "I'm alive!",
                        reply_to_message_id=reply_to_message_id)
Exemple #6
0
"""
app.py

Author: Allan Martínez
"""
from os import environ

from flask import Flask
from flask_restful import Api

from bot import init_bot

app = Flask(__name__)
api = Api(app)

@app.route("/")
def hello():
    """Root route.

    Returns:
        Str: Simple hello world response
    """
    return "Bot Listening..."

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0', port=int(environ.get('PORT', 8080)))

init_bot()