Ko te matapae huarere tino tika: bot mo Telegram mo nga mahi kapua

Ko te matapae huarere tino tika: bot mo Telegram mo nga mahi kapua
He maha nga ratonga e whakarato ana i nga korero huarere, engari ko wai me whakawhirinaki koe? I te wa i timata ahau ki te eke paihikara i nga wa katoa, i pirangi ahau ki te whai korero tino tika mo nga ahuatanga huarere i te waahi ka eke au.

Ko taku whakaaro tuatahi ko te hanga i tetahi teihana huarere DIY iti me nga puoro me te whiwhi raraunga mai i a ia. Engari kaore au i "whakahou i te wira" me te whiriwhiri i nga korero huarere e whakamahia ana i roto i nga waka rererangi hei puna mo nga raraunga manatoko, ara. METARU (Meteorological Aerodrome Report) me mahi (TAF - Matapae Aerodrome Terminal). I roto i te waka rererangi, ko te oranga o nga rau tangata e whakawhirinaki ana ki te huarere, no reira he tika nga matapae ka taea.

Ka whakapaohohia enei korero XNUMX/XNUMX ma te reo ki nga papa rererangi hou i te ahua ATIS (Ratonga Korero Whakamutunga Aunoa) me VOLMET (mai i te French. vol - rere me Météo - rangi). Ko te tuatahi he korero mo te tino huarere i te papa rererangi, ko te tuarua he matapae mo nga haora 24-30 e whai ake nei, ehara i te waahi rererangi anake, engari i etahi atu.

He tauira o te mahi ATIS i Vnukovo Airport:

He tauira mo te mahi a VOLMET i Vnukovo Airport

Kaore e pai ki te kawe i te matawai reo irirangi, i te whakawhiti ranei i a koe i nga wa katoa mo te awhe e rite ana, a ka hiahia ahau ki te hanga i tetahi karetao i Telegram, ma te paatene o te paatene, ka taea e koe te whiwhi i te matapae kotahi. Ko te iti rawa e kore e tika ki te toha i tetahi tūmau motuhake mo tenei, me te tuku tono ki to Rahipere kaainga.

Na reira, i whakatau ahau ki te whakamahi i te ratonga hei tuara Tīpakohia Ngā Āhuatanga Kapua. Ko te maha o nga tono ka iti noa, no reira ka tata kore utu taua ratonga (e ai ki aku tatauranga, ka 22 rubles mo te 100 tono).

Te whakarite o muri

Waihangahia he mahi

I te paewhiri mana my.selectel.ru whakatuwhera te tirohanga papaa kapua me te hanga kaupapa hou:

Ko te matapae huarere tino tika: bot mo Telegram mo nga mahi kapua
I muri i te hanganga o te kaupapa, haere ki te waahanga Nga Mahi:

Ko te matapae huarere tino tika: bot mo Telegram mo nga mahi kapua
Panahia te pātene Waihangahia he mahi ka hoatu te ingoa e hiahiatia ana:

Ko te matapae huarere tino tika: bot mo Telegram mo nga mahi kapua
I muri i te pehi Waihangahia he mahi ka whai tohu tatou mo te mahi i hangaia:

Ko te matapae huarere tino tika: bot mo Telegram mo nga mahi kapua
I mua i to tiimata ki te hanga waehere ki Python, me hanga e koe he bot i Telegram. Kaore au e whakaahua me pehea te mahi - kei reira nga tohutohu taipitopito i to tatou turanga matauranga. Ko te mea nui mo tatou ko te tohu o te boti hanga.

Te whakarite i te waehere

I whiriwhiria e au te National Oceanic and Atmospheric Administration (NOAA) hei puna korero pono. Ko tenei umanga pütaiao e whakahou ana i nga raraunga i roto i te waa tuuturu i runga i tana tūmau i te whakatakotoranga TXT.

Hononga ki te tiki raraunga METAR (tuhia te keehi):

https://tgftp.nws.noaa.gov/data/observations/metar/stations/<код аэропорта по ICAO>.TXT

I taku keehi, ko te taunga rererangi tata ko Vnukovo, ko tana waehere ICAO UUWW. Ma te haere ki te URL kua hangaia ka whai ake:

2020/08/10 11:30
UUWW 101130Z 31004MPS 9999 SCT048 24/13 Q1014 R01/000070 NOSIG

Ko te rarangi tuatahi ko te wa o naianei o te matapae i roto i te Waa Tikanga o Greenwich. Ko te rarangi tuarua he whakarāpopototanga o te rangi tūturu. Karekau he raruraru ki nga kaiurungi waka rererangi ki te mohio ki te tikanga o tenei rarangi, engari me whakamarama mai:

  • [UUWW] — Vnukovo, Moscow (Russia — RU);
  • [101130Z] — 10 o nga ra o te marama, 11:30 am GMT;
  • [31004MPS] — te ahunga hau 310 nga nekehanga, te tere 4 m/s;
  • [9999] — te tirohanga whakapae 10 kiromita neke atu ranei;
  • [SCT048] — kapua marara/marara ki te 4800 putu (~1584 m);
  • [24 / 13] — te mahana 24°C, te toma 13°C;
  • [Q1014] — pehanga (QNH) 1014 hectopascals (750 mm Hg);
  • [R01/000070] - whakarea o te adhesion i runga i te huarahi 01 - 0,70;
  • [NOSIG] - kaore he huringa nui.

Me timata taatau ki te tuhi i te waehere papatono. Tuatahi me kawemai koe i nga mahi tono и pytaf:

from urllib import request
import pytaf

Tauwhāitihia ngā taurangi ka whakarite i te mahi wetewete:

URL_METAR = "https://tgftp.nws.noaa.gov/data/observations/metar/stations/UUWW.TXT"
URL_TAF = "https://tgftp.nws.noaa.gov/data/forecasts/taf/stations/UUWW.TXT"

def parse_data(code):
    code = code.split('n')[1]
    return pytaf.Decoder(pytaf.TAF(code)).decode_taf()

Me neke atu ki te TAF (he mea nui ano te keehi).

https://tgftp.nws.noaa.gov/data/forecasts/taf/stations/<код аэропорта по ICAO>.TXT

Ka rite ki te tauira o mua, me titiro ki te matapae i te taunga rererangi o Vnukovo:

2020/08/10 12:21
TAF UUWW 101050Z 1012/1112 28003G10MPS 9999 SCT030 TX25/1012Z TN15/1103Z 
      TEMPO 1012/1020 -TSRA BKN020CB 
      BECMG 1020/1021 FEW007 BKN016 
      TEMPO 1021/1106 -SHRA BKN020CB PROB40 
      TEMPO 1021/1106 -TSRA BKN020CB 
      BECMG 1101/1103 34006G13MPS

Kia aro nui tatou ki nga rarangi TEMPO и BECMG. Ko te tikanga o te TEMPO ko te huarere i roto i te waa kua tohua ka huri i ia wa. BECMG - ka huri haere te huarere i roto i te waa kua tohua.

Arā, te rārangi:

TEMPO 1012/1020 -TSRA BKN020CB

Ko te tikanga:

  • [1012 / 1020] — i waenganui i te 12 me te 20 haora (Greenwich Mean Time);
  • [-TSRA] — whatitiri (TS = whatitiri) me te ua (RA = ua) he iti te kaha (tohu tango);
  • [BKN020CB] - nui (BKN = whati), cumulonimbus (CB = cumulonimbus) kapua i te 2000 putu (610 mita) i runga ake i te taumata o te moana.

He maha nga kupu mo nga ahuatanga huarere, he uaua ki te maumahara. Ko te waehere mo te tono TAF he rite te tuhi.

Te tuku waehere ki te kapua

Kia kore ai e moumou taima, me tango he tauira karetao waea mai i ta maatau putunga kapua-teregram-bot. He he kua oti te whakarite whakaritenga.txt и setup.py me te hanganga whaiaronga tika.

Mai i roto i te waehere ka uru tatou ki te kōwae pytaf, katahi me whakauru tonu tona putanga ki whakaritenga.txt

pytaf~=1.2.1

  • Me haere tatou ki te whakatika bot/tele_bot.py. Ka tangohia e matou nga mea koretake katoa ka taapirihia to taatau waehere.

import os
from urllib import request
import telebot
import pytaf
 
TOKEN = os.environ.get('TOKEN')
URL_METAR = "https://tgftp.nws.noaa.gov/data/observations/metar/stations/UUWW.TXT"
URL_TAF = "https://tgftp.nws.noaa.gov/data/forecasts/taf/stations/UUWW.TXT"
 
bot = telebot.TeleBot(token=TOKEN, threaded=False)
keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
keyboard.row('/start', '/get_metar', '/get_taf')
 
def start(message):
    msg = "Привет. Это бот для получения авиационного прогноза погоды " 
          "с серверов NOAA. Бот настроен на аэропорт Внуково (UUWW)."
    bot.send_message(message.chat.id, msg, reply_markup=keyboard)
 
def parse_data(code):
    code = code.split('n')[1]
    return pytaf.Decoder(pytaf.TAF(code)).decode_taf()
 
def get_metar(message):
    # Fetch info from server.
    code = request.urlopen(URL_METAR).read().decode('utf-8')
    # Send formatted answer.
    bot.send_message(message.chat.id, parse_data(code), reply_markup=keyboard)
 
def get_taf(message):
    # Fetch info from server.
    code = request.urlopen(URL_TAF).read().decode('utf-8')
    # Send formatted answer.
    bot.send_message(message.chat.id, parse_data(code), reply_markup=keyboard)
 
def route_command(command, message):
    """
    Commands router.
    """
    if command == '/start':
        return start(message)
    elif command == '/get_metar':
        return get_metar(message)
    elif command == '/get_taf':
        return get_taf(message)
 
def main(**kwargs):
    """
    Serverless environment entry point.
    """
    print(f'Received: "{kwargs}"')
    message = telebot.types.Update.de_json(kwargs)
    message = message.message or message.edited_message
    if message and message.text and message.text[0] == '/':
        print(f'Echo on "{message.text}"')
        route_command(message.text.lower(), message)

  • Ka kohia e matou te katoa o te raarangi ki roto i te puranga ZIP ka haere ki te paewhiri mana ki te mahi i hangaia.
  • РќР ° жимР° РμРј Whakatika ka tikiake i te pūranga me te waehere.

Ko te matapae huarere tino tika: bot mo Telegram mo nga mahi kapua

  • Whakakiia te ara whanaunga i roto i te konae tele_bot (toronga .py kaore pea e tohuhia) me tetahi mahi mutunga (i te tauira i homai ko tenei matua).
  • wāhanga Taurangi Taiao tuhia he taurangi TOKINI ka tohua te tohu o te karetao waea e hiahiatia ana.
  • РќР ° жимР° РμРј Tiaki me te Roha, ka mutu ka haere ki te wahanga nga kaipatu.
  • Ka maka e matou te whakawhiti Tono HTTPki te whakapuaki i te tono.

Ko te matapae huarere tino tika: bot mo Telegram mo nga mahi kapua
He URL kei a matou inaianei mo te karanga whanui i te mahi. Ko nga mea e toe ana whirihora tukutuku. Kimihia to tatou bot @SelectelServerless_bot i roto i Telegram ka rehitatia to bot me te whakahau:

/setwebhook <you bot token> <public URL of your function>

hua

Mena ka tika nga mea katoa, ka tiimata tonu to karetao ki te mahi me te whakaatu tika i te ripoata huarere rererangi hou i roto i te karere.

Ko te matapae huarere tino tika: bot mo Telegram mo nga mahi kapua
Ko te tikanga, ka taea te whakapai ake i te waehere, engari ahakoa i roto i tona ahuatanga o naianei he nui ki te rapu i te huarere tino tika me te matapae mai i tetahi puna pono.

Ka kitea e koe te putanga katoa o te waehere i roto i ta maatau putunga i runga i GitHub.

Ko te matapae huarere tino tika: bot mo Telegram mo nga mahi kapua

Source: will.com

Tāpiri i te kōrero