def MakeTelegrams(datfile, idxfile):
    with open(idxfile, 'rb') as f:
        idx = f.read()
    with open(datfile, 'rb') as f:
        dat = f.read()

    IDXLength, _, IDXEnd = unpack('<III', idx[:12])
    IDXStart, = unpack('<I', idx[0x48:0x48 + 4])

    telegrams = []
    blockStart = IDXStart
    while True:
        #AW's dat and idx formats are like linked lists of arrays of whatever struct they're storing.
        forward, backward, entrycount, entrieslength = unpack(
            '<IIHH', idx[blockStart:blockStart + 12])
        if entrycount == 0 or entrieslength == 0:
            break
        ENTRY_LENGTH = entrieslength // entrycount

        for i in range(entrycount):
            entryStart = blockStart + ENTRY_LENGTH * i

            datAddress, sentTimestamp, localID = unpack(
                '<III', idx[entryStart + 18:entryStart + 30])

            usernamestart = entryStart + 0x1E
            username = idx[usernamestart:usernamestart + 32]

            #Stop message at first NULL NULL
            for j in range(0, len(username), 2):
                if username[j:j + 2] == b'\x00\x00':
                    username = username[:j]
                    break
            username = username.decode('UTF-16')

            datEntryLength, = unpack('<I', dat[datAddress + 2:datAddress + 6])

            tgtype = dat[datAddress + 0xA]

            messageStart = datAddress + 0xB
            message = dat[messageStart:datAddress + datEntryLength]

            #Stop message at first NULL NULL
            for j in range(0, len(message), 2):
                if message[j:j + 2] == b'\x00\x00':
                    message = message[:j]
                    break
            message = message.decode('UTF-16')

            telegrams.append(
                Telegram(username, localID, message, sentTimestamp, tgtype))

        if forward == 0x00000000:
            break
        blockStart = forward

    return telegrams
def RegisterChat(update, context):
    ChatName = Getchatname(update)
    ChatID = update.effective_chat.id

    DBStuffs.DB_Post("INSERT INTO Telegram (ChatID, ChatName, SendMuted, SendChangelog) VALUES (\"{}\", \"{}\", \"{}\", \"{}\");".format(ChatID, ChatName, False, False))
    context.bot.send_message(chat_id=ChatID, text="\"{}\" ({}) is now registered with the server".format(ChatName, ChatID))

    Telegram.SendCurrentGames(ChatID)
    
    Log.Information("\"{}\" ({}) is now registered with the server".format(ChatName, ChatID))
Exemple #3
0
    def update(self):
        for date in self.generatorDate:
            self.IncreaseLoadingBar(str(date))
            self.window.update()

        self.IncreaseLoadingBar("Telegram Running")
        self.window.update()
        self.telegram = Telegram()

        self.IncreaseLoadingBar("Loading Complete")
        self.window.update()
        self.fadeout()
import base64

from Telegram import *
Telegram = Telegram()

from EmailService import *
Email = ServicioEmail()

from flask import Flask, request

app = Flask(__name__)


def decoBase64UrlSafe(s):
    return base64.urlsafe_b64decode(s + '=' * (4 - len(s) % 4))


@app.route('/telegram', methods=['GET', 'POST'])
def telegram():
    print("telegram solicitado")
    ID_GROUP = ""
    if request.method == 'GET':
        ID_GROUP = request.values.get('ID_GROUP')
        dato = request.values.get('MENSAJE')
        MENSAJE = decoBase64UrlSafe(dato)
        #print(MENSAJE)
        Telegram.send(ID_GROUP, MENSAJE)
        return "OK"
    return "Error"

Exemple #5
0
def get_iterable():
    return Telegram(token=API_KEY)
# MathOperatorBot Main
# Author STNIN, Thiago Yuji
# 27/01/2019

import sys

sys.path.append('./MathOperatorBot/Controller')

from Telegram import *

if __name__ == '__main__':

    telegram = Telegram()

    telegram.message_loop()

    while True:

        pass
Exemple #7
0
#   |___|_| |_| |_|_.__/ \__,_|_|\__,_|_| |_|\___\___|
#

imbalance = allstats[(allstats['dangerous attacks reldiff'] > 160) |
                     (allstats['dangerous attacks reldiff'] < 45)]

for index, row in imbalance.iterrows():
    s = Stats(row['match_id'])
    f = s.flatjsonfile
    if (f['goals home'] <= f['goals away'] and f['dangerous attacks reldiff'] >
            160) or (f['goals home'] >= f['goals away']
                     and f['dangerous attacks reldiff'] < 45):
        if f['timer'].isdigit() and int(f['timer']) > 65:
            print('Imbalance:\n' + str(s))
            Telegram().send_message(chat_id=-1001403993640,
                                    msg=(row['match_id'], "Imbalance",
                                         'Imbalance: ' + str(s)))

#    ____
#   |  _ \ _ __ __ ___      __
#   | | | | '__/ _` \ \ /\ / /
#   | |_| | | | (_| |\ V  V /
#   |____/|_|  \__,_| \_/\_/
#

print('###############\n' '#### Draws ####\n' '###############\n')
draw = allstats[(allstats['goals home'] == allstats['goals away'])]
for index, row in draw.iterrows():
    s = Stats(row['match_id'])
    if s.flatjsonfile['timer'].isdigit() and int(s.flatjsonfile['timer']) > 79:
        print(s)
Exemple #8
0
############# Imports
import Telegram as TG
import requests, json

############# Variablen
#- Landkreis HDH
URL = "https://services7.arcgis.com/mOBPykOjAyBO2ZKk/arcgis/rest/services/RKI_Landkreisdaten/FeatureServer/0/query?where=GEN%20%3D%20%27HEIDENHEIM%27&outFields=GEN,last_update,cases7_per_100k_txt&returnGeometry=false&outSR=&f=json"

inzidenzen = requests.get(URL).json()
last_update = inzidenzen['features'][0]['attributes']['last_update']
nachricht = ""

############# Nachricht vorbereiten

#- Datum holen
nachricht = f'Stand: {last_update}\n\n'

#- Durchlauf durch Json
for inzidenz in inzidenzen['features']:
    landkreis = inzidenz['attributes']['GEN']
    inz = inzidenz['attributes']['cases7_per_100k_txt']
    nachricht += f'{inz}\t {landkreis}\n'

############# NAchricht Senden
print(TG.SendMultTelegram(nachricht))
Exemple #9
0
SleepTime = 180
DurationTime = 10
Exit = False


def myNotify(myTitle, myMessage):
    Notification(
        title=myTitle,
        description=myMessage,
        icon_path=
        "abq_Batcher.png.ico",  # On Windows .ico is required, on Linux - .png
        duration=DurationTime,  # Duration in seconds
        urgency='normal').send()


Telegram.SendMultTelegram("Start " + myFile2Tail)
Telegram.SendMultTelegram(datetime.now())
myNotify("Start " + myFile2Tail, str(datetime.now()))
time.sleep(DurationTime)

while myRunBool:
    if os.path.isfile(myFile2Tail):
        with open(myFile2Tail, encoding='utf8') as f:
            for line in f:
                myOutputline = line.strip()
                if "THE ANALYSIS HAS COMPLETED SUCCESSFULLY" in myOutputline:
                    myRunBool = False
                    Telegram.SendMultTelegram(myFile2Tail + " ist fertig")
                    Telegram.SendMultTelegram(datetime.now())
                    myNotify(myFile2Tail + " ist fertig", str(datetime.now()))
                    Exit = True
Exemple #10
0
 def sendMsg(self, s, current=None):
     t.senMsg(s)
def resend(update, context):
    ChatID = str(update.message.chat.id)
    
    Telegram.SendCurrentGames(ChatID)
    
    return ConversationHandler.END
Exemple #12
0
 def __init__(self, account):
     self.logger = Logger.Logger("Tripwire2.Reporter", account)
     self.account = account
     self.telegram = Telegram.Telegram()
     self.logger.log_finished(account, "init")
Exemple #13
0
def timer(inc=600):
    # try:
    dict = twitch.twitch_top_game()
    telegram.send_message(dict)
    t = Timer(inc, timer)  # 10 mins = 600 seconds
    t.start()