Kanavan luominen automaattisella lähettämisellä Telegramissa ilman yhtä koodiriviä. Tämä on maailman hyödyllisin Telegram-botti. Sitä hän voi tehdä

30. lokakuuta 2015 klo 07:46

Kanavan luominen automaattisella lähettämisellä Telegramissa ilman yksi rivi koodi

  • API,
  • Viestintäjärjestelmät
  • Opetusohjelma

Johdanto

Varoitan sinua heti: artikkelissa on hyvin vähän teknistä osaa. Se on käytännössä vaiheittaiset ohjeet niille, jotka eivät ole kovin perillä asiasta teknisesti käyttäjiä. Asiantunteville ihmisille (ja niille, jotka ovat liian laiskoja lukemaan paljon tekstiä) tarjoan kaksi linkkiä: Telegram Bots API + IFTTT Maker Channel.

Nyt tarkemmat tiedot. Luulen, että kaikki ovat kuulleet Telegram messengeristä. Todennäköisesti monet jopa tietävät yksinkertaisesta API:sta botien luomiseen tässä messengerissä. Lisäksi ei niin kauan sitten T:ssä tuli mahdolliseksi luoda niin sanottuja "kanavia", jotka yksinkertaistavat viestien välitöntä jakelua melkein mille tahansa kanavan tilaaneille ihmisille. Lopuksi eniten uusimmat uutiset: Botit voidaan nyt lisätä kanavien ylläpitäjiksi, eli tällaiset postitukset voidaan nyt tehdä automaattisesti.

Mielestäni ei tarvitse selittää, että tämä avautuu aivan runsaasti mahdollisuuksia varten erilaisia ​​palveluita. Esimerkiksi, pystyin tekemään seuraavat asiat melko nopeasti:

  • kolme kanavaa (@RedditTop, @r_pics, @gone_wild - ole varovainen, viimeinen, jossa on aikuisille suunnattua sisältöä), jotka tuovat tunnin välein suosituimmat viestit Redditistä (ja sen kahdesta subredditistä);
  • toinen kanava, joka tekee saman 9GAG:n viesteillä;
  • ja lopuksi hän loi ovelan botin @JamesBot, joka välittää kaikki hänelle kirjoitetut viestit nimettömästi eteenpäin yhteinen kanava(@secret_ru, @secret_en, @secret_es, @secret_ar tai @secret_fa - kielestä riippuen). Se osoittautui anonyymi chatti keskimääräinen roskaisuus.
Kaikkien näiden robottien ja kanavien luomisen jälkeen mieleeni tuli, että yksinkertaisin automaattinen viestien tuonti jostain "ulkopuolelta" voidaan ottaa käyttöön ilman koodia tai isännöintiä - kirjaimellisesti noin 5 minuutissa apumme - Jos tämä sitten tuo, jolla on monia integraatioita sosiaalisiin verkostoihin ja muihin palveluihin. Totta, valitettavasti sillä ei (vielä?) ole suoraa integraatiota Telegramin kanssa - mutta siinä on ns. IFTTT Maker Channel, jonka avulla voit tehdä yksinkertaisia ​​HTTP(S)-pyyntöjä, kun laukaisin käynnistyy. Valitettavasti emme voi ottaa vastaan ​​botille lähetettyjä viestejä (IFTTT Maker voi hyväksyä saapuvat pyynnöt, mutta valitettavasti vain tiukasti tietty muoto) - vuorovaikutusta ei tapahdu. Mutta kun jokin tapahtuma käynnistyy (esimerkiksi uusi twiitti tai FB-viesti), voimme:
  • laita viestiä kanavalle,
  • lähettää viestin ennalta valittuun chattiin (johon bottimme on lisätty),
  • laita viestiä etukäteen määritetylle käyttäjälle(joka lisäsi itselleen botin).
Totta, liipaisin laukeaa noin kerran 15 minuutin välein. Ja toistaiseksi ei ole ollut tapaa ladata kuvia/videoita/asiakirjoja (voit antaa vain linkin niihin). Kyllä rajoitukset ovat tiukat. Mutta yksinkertaisissa ilmoituksissa se käy. Mennään siis.

Vaihe 1. Luo botti.

Botin luomiseen liittyen sinun on otettava yhteyttä itse päärottiin: @BotFather. Sinulta kysytään kahta asiaa: valintaikkunassa näkyvää nimeä ja käyttäjätunnus, jonka avulla bottisi löytyy (sen on oltava ainutlaatuinen). Jos tavoitteena on julkaista julkaisuja kanavalla, kumpikaan ei ole erityisen tärkeä (vain sinä näet admin-bottisi).

Saatuaan vastaukset näihin kahteen kysymykseen, BotFatherin pitäisi antaa sinulle merkki sinun bottisi. Se näyttää tältä:
123456789:Blablabla...

Tokenin sisältävää viestiä ei pidä hukata, eikä itse merkkiä saa paljastaa kenellekään, koska tunnuksen avulla kuka tahansa voi teeskennellä olevansa bottisi.

Vaihe 2. Luo kanava.

Kanavan luominen on valinnainen vaihe. Halutessasi voit lähettää viestejä chatiin tai käyttäjälle (vaikka sinun on ensin selvitettävä hänen tunnuksensa - siitä lisää alla).

Valitse Telegram-asiakasohjelmassamme uuden viestin luominen - Uusi kanava(näyttää siltä, ​​että kaikki virallisia asiakkaita he tukevat sitä nyt). Ilmoitamme nimen, kuvauksen ja valokuvan makusi mukaan. Kanavan on oltava julkinen, joten määritämme julkisen tyypin ja asetamme kanavalle osoitteen ("käyttäjänimi"). Voit ohittaa ystävien kutsumisen.

Kun kanava on luotu, siirry sen asetuksiin, avaa ylläpitäjien luettelo ja lisää ensimmäisessä vaiheessa luotu botti (hakemalla sen käyttäjätunnuksella).

Vaihe 3. Määritä integrointi IFTTT:hen.

Mennään IFTTT:hen. Ilmoittaudutaan, jos et vielä ole. IFTTT:n avulla voit luoda monia laukaisimia, kuten "tuonti mistä", "millä ehdoilla", "vienti kohteeseen". Niitä kutsutaan "resepteiksi". Luo uusi resepti: Luo resepti.

Ensin sinun on valittava lähde ja tietty ehto (triggeri), jonka mukaan resepti tulee käynnistää. Täällä sinua ei rajoita mikään: jos haluat, seuraa twiittejä hashtagilla, jos haluat, siirrä julkaisusi Facebookista. En mene yksityiskohtiin, kaikki on hyvin yksinkertaista.

Reseptin viimeinen osa on "se" - valitse mitä tehdä, jos ehto laukeaa. Täällä sinun on syötettävä hakuun Luoja, valitse se ja sitten ainoa käytettävissä oleva toiminta - Tee verkkopyyntö. Lopuksi tärkein vaihe, kenttien täyttäminen:

  • URL-osoite: api.telegram.org/bot /Lähetä viesti
  • Menetelmä: LÄHETTÄÄ
  • Sisältötyyppi: sovellus/json
  • Runko:("chat_id":"@ ","teksti":"((Teksti))")
(huom: menetelmä ja sisältötyyppi voit valita muita - Telegram on suhteellisen kaikkiruokainen tässä suhteessa)

Huomaa: sen sijaan ja URL-osoite, sinun on sen sijaan määritettävä bot-tunnus (katso vaihe 1). kohdassa Body - kanavan osoite (vaihe 2). Tietenkin ilman kulmasulkuja, mutta kanavan osoitetta edeltää symboli @ . ((Teksti)) tekstikentässä tarkoittaa julkaistusta postauksesta saadun tekstin korvaamista. Tietty korvauskoodi voi olla erilainen, jos haluat nähdä niiden luettelon (ja korvata ne viestin tekstissä), napsauta Body-kentän vieressä olevaa lamppua. Tietysti voit välttää vaihtamista ollenkaan ja julkaista saman tekstin, mutta tämä kyllästyy tilaajille nopeasti :)

Selvennys: jos haluat lähettää viestin ei kanavalle, vaan chattiin tai tietylle henkilölle(esimerkiksi itsellesi), sitten @ sijaan " sinun on määritettävä chatin tai tämän henkilön tunnus. Selvittääksesi sen, helpoin tapa on lisätä itsellesi esim.

Kasvoin 1 000 tilaajasta 8 000:een. Sen jälkeen olen ymmärtänyt, mitä virheitä tein kanavani mainostamisen ensimmäisissä vaiheissa ja kuinka aloittelijat voivat välttää ne. Monet pyrkivät kirjailijat Telegramissa kysyvät, mitä voin suositella. Siksi päätin päivittää vanhan artikkelini ja tehdä neuvoista osuvampia ja oikeampia.

Tämä on päivitys lokakuussa 2016 julkaistuun artikkeliin

Mitä julkaista?

Telegramissa, kuten missä tahansa muussakin sosiaalinen verkosto Ensinnäkin se, mistä kirjoitat, on tärkeää. Yksi harkitsemisen arvoinen asia tärkeä pointti. Täällä ihmiset eivät halua lukea uudelleenpostauksia, kopioida-liitä ja muuta sisältöä, jota kaikilla on. Tilaajat valitsevat kanavat, joilla on kirjoittajan mielipide, ainutlaatuinen näkemys suosittuihin uutisiin tai markkinaraon aiheisiin. Aihe voi kuitenkin olla suosittu, mutta silti kannattaa kirjoittaa omasta aiheesta.

On parempi olla julkaisematta pitkiä viestejä. Jopa tavallisissa sosiaalisissa verkostoissa harvoin kukaan lukee otsikon pidemmälle. Henkilökohtaisesti pyrin kirjoittamaan Twitter-muodossa. Lyhyt postaus, jossa on kuva ja linkki lähteestä. Kanavan syötteeni on kuin luettelo hyödyllisiä palveluita ja ohjelmia. Siksi loin luettelon tunnisteista, jotka tilaajat voivat helposti löytää haluttu ohjelma. Se näyttää tältä:

Milloin on paras aika lähettää viestejä Telegramissa?

Valita oikea aika Viestin julkaiseminen on tärkein tehtävä missä tahansa sosiaalisessa verkostossa. Minusta tuntuu, että tällä ei ole merkitystä Telegramille, ja tähän on useita syitä:

  1. Tilaajillasi on eri aikavyöhykkeet. Haluatko postata kello kolmelta aamulla? Ole kiltti.
  2. Joidenkin tilaajien ilmoitukset on mykistetty kanavallasi.
  3. Tilaajilla on jo koko joukko kanavia.

Näiden kolme pistettä Yksi yksinkertainen johtopäätös voidaan tehdä. Telegram on kuin RSS-syöte. Viestisi luetaan, kun se tilaajalle sopii. Siksi sinun ei pitäisi julkaista liikaa tietoa päivässä. Kukaan ei lue 10 500 viestiä sisältävää "arkkia". Mitä en henkilökohtaisesti tee. Ja eteenpäin Tämä hetki Ajattelen ratkaisua ongelmaan - jotta syöte päivittyy usein, mutta tilaajat eivät kärsi viestien määrästä.

Suurin osa venäjänkielisiä käyttäjiä Telegram on Moskova ja Pietari. Siksi, jos haluat valita eniten optimaalinen aika, valitse sitten Moskova.

On vielä yksi temppu. Viestit voidaan lähettää ilmoittamatta käyttäjille. Voit tehdä tämän vaihtamalla kellokuvaketta ja viesti lähetetään kanavalle ilman ilmoituksia.

Viivästynyt postitus

Jos haluat vielä vähemmän miettiä kanavasi täyttämistä sisällöllä päivän aikana, käytä työkaluja julkaisujen ajoittamiseen. Esimerkiksi KUKU.

Viestien ajoituksen avulla voit määrittää syötteesi postauksia etukäteen ja viettää päiväsi tekemällä asioita, joista pidät.

Miten muotoilla viestejä

Messenger itsessään ei tue mitään muotoilua. Linkit näyttävät http://linkeiltä. rasvainen teksti on lihavoitu jne. Täällä robotit, kuten @markdownrobot, tulevat apuun. Tämän botin avulla voit muotoilla viestisi Markdown-merkinnöissä.

Jos sinulla on hyvät taidot käsitellä botteja, voit luoda postauksia melkein minkä tahansa mallin mukaan. Esimerkiksi Aliexpress @aliexpressall -tuotteiden erilaisten tuotteiden kokoojakanavassa viesteihin lisätään painikkeita:

Tässä on tärkeää muistaa, että kaikki Telegram-asiakkaat eivät tue tällaista merkintää. Siksi jotkut tilaajat eivät välttämättä näe viestiä ollenkaan. Lisäksi voit lisätä viesteihin ääniä, tykkäyksiä, kyselyjä ja paljon muuta.

Kanavan tilastojen pitäminen

Kanavatilastojen ylläpitämiseksi se keksittiin jälleen hyödyllinen botti@ControllerBot. Kun olet muodostanut yhteyden kanavaasi, voit pyytää häneltä tilastoja viime kuukausi. Botti vastaa sinulle tekstitiedoilla ja kaunis kaavio kasvu.

Keskinäinen PR

Kuten alussa kirjoitin, Telegramissa on vaikea tavoittaa yleisöäsi. Siksi yksi työkaluista löytää kaksi "yksinäistä sydäntä" on keskinäinen PR. Etsi kanavia, joilla on samankaltaisia ​​aiheita, mieluiten sama määrä lukijoita kuin sinulla. Kirjoita sitten järjestelmänvalvojille ehdotus keskinäinen PR. Monet ovat iloisesti samaa mieltä.

Miltä tällainen PR näyttää? Julkaiset kanavallasi viestin, jossa mainostetaan jonkun muun kanavaa. Järjestelmänvalvoja julkaisee mainoksesi vastauksena. Kannattaa muistaa, että tällaisilla viesteillä ei voi liioitella. Muuten kaikki nykyiset lukijat pakenevat roskapostia. Julkaisen yhden mainosposti päivässä.

Tärkeimmät tiedot:

  • VP - keskinäinen PR;
  • "Mega" on hyvin samanlainen kuin VP. Tällöin kaikki osallistuvat kanavat kootaan yhteiselle listalle ja mainonta toimii samanaikaisesti kaikissa niissä;
  • Tunti tai muu aika huipulla - mainosjulkaisun julkaisemisen jälkeen tulee kulua vähintään tunti ennen seuraavaa julkaisua;
  • 24 tuntia syötteessä - mainospostia ei poisteta syötteestä päivän aikana. Kyllä, mainosviesti voidaan poistaa.
  • Näkymät. Jotkut järjestelmänvalvojat jättävät viestin, kunnes se saa vaaditun määrän näyttökertoja.

Valmistaudu etukäteen Lyhyt kuvaus kanava, kuva ja yksityinen linkki. Kun napsautat tällaista linkkiä, kävijästä tulee automaattisesti tilaaja. Löydät linkin kanavan asetuksista > aseta kanavatyypiksi "Yksityinen". Sen jälkeen saat yksityisen linkin. Muista vaihtaa kanavan tilaksi takaisin "julkinen".

On tärkeää aloittaa välittömästi VP:n tulosten seuranta ja kanavasi mainonta. Tämä tulee olemaan vaikeaa, koska tilastojen keräämiseen ja analysointiin puuttuvat työkalut. Mutta tämä on tehtävä, ja mitä aikaisemmin, sen parempi. Näin tiedät heti, minkä kanavien kanssa sinun tulee tehdä yhteistyötä tulevaisuudessa.

Käytän tähän Google Docsin taulukkoa:

Kanavaluettelot

Kanavaluettelot - toinen mahtava keino Ilmaise itseäsi. Se on osittain samanlainen kuin keskinäinen PR. Koska sinua todennäköisesti pyydetään julkaisemaan luettelon mainos sivustossasi. Joku julkaisee kanavasi rahasta, ja joku julkaisee sen "kiitos". Joka tapauksessa luetteloon pääsy on paljon helpompaa kuin yhteisestä PR:stä sopiminen. Telegramissa on lukemattomia luetteloita, ja niiden löytäminen ei ole vaikeaa.

Esimerkiksi tässä on luettelo hyödyllisiä hakemistoja@tginfosta, josta sinun pitäisi aloittaa haku:

  • @CatalogTelegram - jäsennelty luettelo chateista, kanavista ja boteista.
  • tgchans.com - kanavahakemisto edistyneillä tilastoilla ja uudelleenlähetysten seurannalla.
  • inten.to - keskustelujen, kanavien ja robottien indeksointi reaaliajassa.
  • tlgrm.ru/channels - sivusto, jonka kanavat on lajiteltu otsikoiden mukaan.
  • tchannels.me on vanhin kanavahakemisto.
  • telegram-club.ru - keskustelut, kanavat ja botit.
  • tlgrm.pro - chatit, kanavat ja robotit.
  • storegram.ru - botit ja kanavat luokituksilla.
  • tgcreator.ru - kanavien ja robottien luokitus.
  • uztelegram.com - Uzbekistanin kanavat.

Jos haluat mainostaa bottiasi, tarvitset bottihakemistoja:

  • @Obzorchik - robotteja joka päivä sekä sivustoja, joissa on botteja;

Emme tietenkään unohtaneet ryhmäluetteloita. Esimerkiksi @groupsguide ja combot.org/telegram/top/chats, missä eniten suosittuja ryhmiä tilastojen mukaan @comstatbot.

Tietenkin, jos et halua eikä sinulla ole aikaa syventyä siihen itse, voit tilata sähkeen edistämispalvelun tältä sivustolta, jossa pienellä prosentilla he tekevät kaiken puolestasi.

Luetteloiden lisäksi on olemassa myös kirjailijakanavia, joiden tarkoituksena on julkaista kaikkea Telegramiin liittyvää. Tällaisten kanavien avulla voit myös "tavoita" yleisösi. Esimerkiksi Your Telegram -kanava julkaisee uutisia messengeristä ja vinkkejä sen käyttöön. Siksi mainonta tällaisessa kanavassa kiinnostaa sen tilaajia. He tulivat alun perin tänne etsimään mielenkiintoisia kanavia ja uutisia Telegramista.

Tärkeintä on ottaa huomioon niiden kanavien yleisö, joiden kanssa aiot tehdä yhteistyötä.

Tilaajien ostaminen

Kallein, mutta myös helpoin tapa houkutella lukijoita on "ajaa" heitä rahasta. Telegramissa on ihmisiä, jotka houkuttelevat mielellään live-tilaajia kanavallesi rahalla. Yleensä se on muutama rupla per pää.

Voit tilata tämäntyyppisiä tarjouksia joiltakin hakemistojen ylläpitäjiltä. Aloita @User_Administration, joka auttaa levittämään sanaa sinusta yli 30 Telegram-kanavalla. Samaan aikaan peittoalueen painopiste on monipuolinen ja se vaikuttaa valtaosaan yleisöstä.

Kerro meille itsestäsi muissa sosiaalisissa verkostoissa

Pääasiallinen paikka postauksilleni on blogini. Sitten tulevat sosiaaliset verkostot ja postitus lista. Se on luultavasti sama sinulle. Älä siis unohda Twitteriä tai verkkosivustosi seuraajia. Kerro meille kanavastasi sivullasi sosiaaliset ryhmät ja ihmiset ottavat yhteyttä sinuun.

Lopulta

Puhuin vain kanavan mainostamisen tärkeimmistä temppuista Telegramissa. Niiden ansiosta voin helposti säilyttää kanavani nykyisen yleisön ja houkutella uusia tilaajia.

Älä pysähdy vain näihin vinkkeihin. Etsi aina uusia tekniikoita tilaajien houkuttelemiseksi. Pysyäkseni "aiheessa" markkinoinnissa Telegramissa ja muissa verkoissa, tilasin useita kanavia.

Automaattinen viestien siirto verkkosivustojen, blogien ja sosiaalisten verkostojen välillä voidaan suorittaa erillisellä ohjelmisto Useimmiten tämä toiminto toteutetaan kuitenkin suoraan verkkosivuston palvelimilla. Automaattinen lähettäminen Telegramissa suoritetaan käyttämällä robottitilejä (botteja), jotka on suunniteltu yksinkertaistamaan käyttäjien vuorovaikutusta viestintälaitteen kanssa lähettämällä välittömästi komentoja palvelimelle tietyn toiminnon suorittamiseksi.


Automaattinen lähettäminen Telegramissa tapahtuu robottitilien avulla

Miksi tarvitset postausten automaattisen julkaisun muista lähteistä?

Johda itseään tietty sivu sosiaalisessa verkostossa asettaa tiettyjä velvoitteita sen omistajalle. Jotta tilaajamääräsi pysyisi jatkuvasti kasvussa tai ainakin pysyisi samana, sinun on jatkuvasti päivitettävä sisältöäsi, jotta saat tietoa, joka saattaa kiinnostaa kävijöitäsi. Sisältöpäällikön työ on melko työvoimavaltaista, ja jos sinun on tuettava ei yhtä, vaan useita sivuja eri sosiaalisista verkostoista, tehtävän monimutkaisuus moninkertaistuu.
Telegramin automaattisen lähetystoiminnon avulla voit yhdistää kanavia ja ryhmiä ulkoisista lähteistä. Eli kun tiedot päivitetään, esimerkiksi Twitterissä tai VKontaktessa, ne näkyvät välittömästi Telegramissa. Mitä varten se on?


Viestit muista lähteistä julkaistaan ​​automaattisesti

Ensinnäkin automaattisen julkaisun käyttö edistää enemmän nopea promootio yhteisö, koska sen syötettä päivitetään jatkuvasti uudella sisällöllä. Toiseksi, tässä tapauksessa viestien julkaisemiseen kuluu paljon vähemmän aikaa, ja yksi viesti voi tavoittaa suuremman yleisön.

Automaattinen lähettäminen Telegramiin Twitteristä, RSS:stä, VK:sta, YouTubesta

Siirrytään suoraan johonkin automaattisen kirjaamisen käyttöönotosta tämä sanansaattaja. Tätä varten käytämme chatbotin "palveluita". Ohjeet automaattisen lähetyksen määrittämiseksi tällä robotilla ovat seuraavat:


Automaattisen lähettämisen käyttöönotto messengerissä muista sosiaalisista verkostoista
      1. Löydämme hausta botin, napsautamme sen nimeä ja aloitamme dialogin sen kanssa.
      2. Tallenteiden automaattisen lähettämisen toteuttamiseksi käyttäjää pyydetään luomaan oma botti. Voit tehdä tämän kirjoittamalla komennon /addbot tai valitsemalla "Lisää uusi botti" näytön alareunassa olevasta valikosta.
      3. Ohjeet botin luomiseen ilmestyvät valintaikkunaan, jonka mukaan sinun on suoritettava seuraavat vaiheet:
        1. aloita dialogi botin kanssa;
        2. kirjoita komento /newbot;
        3. keksiä nimi (millä tahansa kielellä) ja linkki (englanniksi), jossa on oltava esimerkiksi pääte "bot" (käytämme tätä nimeä esimerkkinä jatkossa);
        4. vastaanottaa token (avain) API:lta ja kopioida se;
        5. palaa valintaikkunaan ja liitä avain viestin syöttökenttään.
      4. Kun olet syöttänyt avaimen oikein, näyttöön tulee viesti, joka ilmoittaa, että tunnuksesi on hyväksytty ja botti on luotu ja määritetty. Jatkotyötä tehdään äskettäin luodun botin kanssa.
      5. Luomme dialogin kanssa , jota varten napsautamme sen nimeä.
      6. Lähetämme bottiin /autoposting-komennon.
      7. Näyttöön tulee valikko, josta voit valita lähetyslähteen. Seuraavat palvelut ovat saatavilla: Twitter, YouTube, VK, RSS.
      8. Kun olet valinnut palvelun, sinua pyydetään antamaan linkki oma tili hänessä.
      9. Teemme sinusta sen kanavan tai ryhmän ylläpitäjän, jolle automaattista lähetystä luodaan.

Kun kaikki näiden ohjeiden vaiheet on suoritettu, botti päivittää automaattisesti tietyn kanavan/ryhmän sisällön uusilla tiedoilla määritetyistä lähteistä.

Yksinkertainen tapa toteuttaa automaattinen lähettäminen VKontakte-sivuilta ja -ryhmistä

On toinenkin robotti, jonka avulla voit automatisoida viestien julkaisemisen. Hänen nimensä - . Huolimatta siitä, että se on mukautettu yksinomaan VKontakten lähettämiseen, monille venäjänkielisille messengerin käyttäjille tämä riittää. Lisäksi asennus vie enintään 5 minuuttia. Tätä varten tarvitset:

  1. Etsi hänet hausta, napsauta hänen nimeään ja aloita dialogi hänen kanssaan.
  2. Jos haluat määrittää automaattisen lähettämisen, käyttäjää pyydetään seuraamaan linkkiä ja noudattamaan ohjeita.
  3. Kun napsautat linkkiä selaimessasi, avautuu sivu, jolla on koodi, esimerkiksi /startL5D69NPu0KJaqybR, joka sinun on kopioitava.
  4. Sinun täytyy palata messengeriin ja lähettää koodin sisältävä viesti robotille.
  5. Jos koodi on syötetty oikein, käyttäjä tulee ilmoitus onnistuneesta valtuutuksesta ja sinua kehotetaan palaamaan selainsivulle.
  6. Kun palaat selaimeen, näkyviin tulee valintaikkuna, jossa sinun on:
    1. Ilmoita asianmukaisiin kenttiin VKontakte-ryhmän nimi ja Telegram-kanava;
    2. napsauta "Tallenna" -painiketta.
  7. Viimeinen vaihe on lisätä se kanavan ylläpitäjiin (muuten robotti ei voi lähettää merkintöjä sinne).

Tämän toiminnon toteutus sosiaalisesta verkostosta VKontakte

Jotta automaattinen lähettäminen toimisi, VK-ryhmän/sivun on oltava avoin kaikille Internetin käyttäjille. Robotti tarkkailee VKontakte-ryhmän sisältöä 10 minuutin välein ja kun uusia viestejä ilmestyy, lähettää ne välittömästi Telegramille.
Edellä mainitut menetelmät automaattisen lähetyksen määrittämiseksi ovat yksinkertaisimpia, ja ne ovat kaikkien Telegram-käyttäjien saatavilla. Tärkeintä on, että niiden avulla voit toteuttaa tätä toimintoa melko nopeasti ja ilman yhtä koodiriviä, joten ohjelmointiosaamista ei tarvita.

Huomaa: vuoden 2017 alussa VK alkoi vaatia käyttäjätunnusta wall.get-menetelmän ja monien muiden kutsumiseksi. VK:n tunnuksen hankintaprosessi ei liity oppikirjan aiheeseen, joten sitä ei kuvata. Linkistä https://vk.com/dev/manuals kuka tahansa voi löytää dokumentaation ja kuvauksen tunnuksen hankintaprosessista.

Aluksi pieni lyyrinen poikkeama.
Kun kanavat ilmestyivät Telegramiin, kohtelin niitä aluksi epäonnistunut yritys kloonaa Twitter. Tyhmät kanavat typerillä kuvilla ilmestyivät heti, mikä vain pahensi tilannetta. Nyt, yli kuukausi myöhemmin, mielipiteeni on kuitenkin muuttunut täysin päinvastaiseksi. Postituslistat korvaamaan (onko kukaan koskaan käyttänyt niitä?) suunnitellut kanavat mahdollistivat vastaanottamisen suuri määrä sisältöä, joka voidaan jakaa ja tallentaa.

Bot FAQ:ssa on mielenkiintoinen lause: "Tutkimme huolellisesti, kuinka ihmiset käyttävät botteja ja kehitämme niitä siihen suuntaan." Ottaen huomioon, että monet botit osallistuivat tiedon lähettämiseen, kanavat ovat erittäin looginen ja oikea askel automatisoitujen työkalujen kehittämisessä.
Ohjelmoijan näkökulmasta kanavat ratkaisevat useita keskeisiä ongelmia kerralla:

  1. Ei tarvitse olla riippuvainen Telegram-palvelimet, koska ei saapuvia viestejä.
  2. Nimetöntä viestien lähettämistä (jotkut ihmiset pyysivät mahdollisuutta lähettää viestinsä "kasvottoman" botin kautta) on yksinkertaistettu mahdollisimman paljon.
  3. Sinun ei tarvitse ylläpitää luetteloita käyttäjistä, joille sinun on lähetettävä tietoja, ja asettaa taukoja viestien lähetysten välillä Telegram itse huolehtii tästä.

Henkilökohtaisesti huomasin, että jotkut VKontakten julkiset sivut ja ryhmät alkoivat kopioida merkintöjään Telegram-kanavat. Tänään opimme tekemään saman ilman rakentajien tai kolmannen osapuolen verkkosivustojen apua. Jotta ei liikaa vaivautuisi, julkaisemme vain linkin julkaisuun, josta saa esikatselun vähimmäisvaatimus tiedot postauksesta.

Ennätysten hankkiminen

"Marsuksi" valitsin pienen mutta erittäin ylpeän ryhmäni musiikin kera C:\Musiikki. Saamme uudet tietueet VK API:lla, eikä meidän tarvitse vaivautua luomaan sovelluksia, koska Voit saada viestejä seinältä myös ilman VKontakten valtuutusta (ellei yhteisön asetuksissa ole toisin mainittu)
Luodaan siis linkki, joka palauttaa 10 viimeistä tietuetta yhteisön puolesta C:\Music-ryhmästä: https://api.vk.com/method/wall.get?domain=c.music&count=10&filter= omistaja&access_token=tunnus
Mitä tässä on? domain - yhteisön lyhyt nimi. Jos sitä ei ole, muuta domain=xxx arvoksi owner_id=-yyy (huomio numeroa edeltävä miinus, tämä on tärkeää). count - näytettävien tietueiden määrä. Mitä pidempi tauko tarkistusten välillä ja mitä useammin merkintöjä ilmestyy yhteisöön, suurempi määrä täytyy asettaa, mutta enintään 100. filter=owner pyytää palvelinta näyttämään tietueita vain ryhmän puolesta, hyödyllinen jos muuri on auki, access_token on käyttäjätunnus, joka "vetää" API:n jonkun puolesta sovelluksia. Luodaan nyt bot.py-tiedosto, johon asetamme päävakiot ja tuonnit:

# -*- koodaus: utf-8 -*- tuontiaika tuonti tapahtumalettien tuontipyynnöt tuonti kirjaus tuonti telebot ajasta tuonti lepotila # Joka kerta kun saamme viimeiset 10 viestiä seinältä URL_VK = "https://api.vk.com/method/wall.get?domain=c.music&count=10&filter=owner&access_token=Your_token_VK" FILENAME_VK = "viimeinen_tunnettu_id.txt" BASE_POST_URL = "https://vk.com/wall-39270586_" BOT_TOKEN = "tunnus botin lähettämisestä kanavalle" CHANNEL_NAME = "@kanava" -botti = telebot.TeleBot(BOT_TOKEN)

Ensinnäkin, älä unohda tehdä oikea botti kanavan ylläpitäjä, muuten tarkennus epäonnistuu. Toiseksi, huomaa, että eventlet-kirjasto on ilmestynyt tuontiin, se auttaa meitä välttämään ongelmia vastaanotettaessa tietueita VK:lta. Kolmanneksi tallennamme määritettyyn txt-tiedostoon varmistushetkellä ylimmän viestin numeron. Päätin olla vaivautumatta luomaan avainarvovarastoja yhden numeron vuoksi. Neljänneksi BASE_POST_URL-parametriksi määritämme linkin mihin tahansa ryhmämme viestiin ilman viimeistä numeroa.

Joskus VK alkaa toimia eikä palauta viestiluetteloa hyväksyttävässä ajassa. Tässä tapauksessa meidän on aikakatkaistava ja ohitettava tarkistus. Voit toki yrittää uudelleen, mutta emme ole sitkeitä ihmisiä :)

def get_data(): timeout = eventlet.Timeout(10 ) try : feed = requests.get(URL_VK) return feed.json() paitsi eventlet.timeout.Timeout: logging.warning( "Sain aikakatkaisun VK JSON -tietoja haettaessa. Peruutetaan...") return Ei mitään lopulta : timeout.cancel()

Idea on yksinkertainen: se toimi - palautamme kohteen pylväillä. Se ei toiminut - palautamme Ei mitään. Siirrytään nyt suoraan jäsentämiseen. Algoritmi tulee olemaan seuraava:

  1. Avaa tiedosto, johon on tallennettu ylimmän viestin viimeinen tunnettu numero.
  2. Jos menetelmä get_data() palautti tietueita sisältävän objektin, alamme käydä sen läpi toisesta elementistä, koska ensimmäinen on minulle tuntematon satunnaisluku.
  3. Jos viestinumero on pienempi tai yhtä suuri kuin viimeisin tunnettu, teemme indeksoinnin loppuun.
  4. Tarkistetaan kiinnitettyä viestiä. Jos sellainen on, siirrämme kaikki tietueet paitsi kiinnitetyn viestin lähetystoimintoon. Muuten siirrämme kaiken.
  5. Otamme tunnuksen jokaisesta tarkistettavasta tietueesta, lisäämme sen BASE_POST_URL-osoitteen viereen ja saamme tietueen täydellisen tunnuksen.
  6. Lähetämme sen kanavalle.
  7. Heti kun läpikulku on valmis, otamme ensimmäisen (toisen, jos ensimmäinen on kiinnitetty) tietueen numeron ja kirjoitamme sen tiedostoon vanhan arvon päälle.
  8. Nukahdamme tai lopetamme.

Mitä tulee kohtaan 8: tarjoamme lisäksi kaksi tilaa ohjelmassamme: ensimmäisessä tilassa skripti toimii jatkuvasti ja nukahtaa jokaisen iteraation jälkeen 4 minuutin ajan; toisessa tilassa komentosarja yksinkertaisesti poistuu, mikä mahdollistaa sen sijoittamisen cron-aikatauluun. Vakiomuuttuja SINGLE_RUN auttaa meitä määrittämään tilan, joka on muistettava osoittaa jossain yläosassa.

def send_new_posts (kohteet, last_id): nimikkeelle kohteissa: if item["id" ]<= last_id: break link = "{!s}{!s}" .format(BASE_POST_URL, item["id" ]) bot.send_message(CHANNEL_NAME, link) # Nuku hetki välttääksesi kaikenlaiset virheet ja rajoitukset (varmuuden vuoksi!) time.sleep(1) paluu def check_new_posts_vk() : # Kirjoita nykyinen aloitusaika logging.info( "Aloitti uusien viestien etsimisen") jossa open(TIEDOSTONIMI_VK, "rt" ) tiedostona: last_id = int(file.read()), jos viimeinen_tunnus on Ei mitään : logging.error( "Ei voitu lukea tallennustilasta. Iteraatio ohitettiin.") return logging.info("Viimeinen tunnus (VK) = (!s)" .format(viimeinen_tunnus)) try : feed = get_data() # Jos aikakatkaisu tapahtui aikaisemmin, ohita iteraatio. Jos kaikki on hyvin, jäsentelemme viestit. jos syöte ei ole Ei mitään : merkinnät = syöte["vastaus" ] kokeile: # Jos viesti on kiinnitetty, ohita se tmp = merkinnät["on_pinned"] # Ja aloita viestien lähettäminen lähetä_uudet_viestit(merkinnät, viimeinen_tunnus) paitsi KeyError: lähetä_uudet_viestit(merkinnät, viimeinen_tunnus) # Kirjoita tiedostoon uusi last_id. jossa open(FILENAME_VK, "wt" ) tiedostona: try : tmp = merkinnät["on_pinned" ] # Jos ensimmäinen viesti on kiinnitetty, tallenna toisen tunnus file.write(str(entries["id" ])) logging.info("Uusi viimeinen_tunnus (VK) on (!s)" .format((entries["id" ]))) paitsi KeyError: file.write( str(entries["id" ])) logging.info("Uusi viimeinen_tunnus (VK) on (!s)" .format((merkinnät["id" ]))) paitsi Poikkeus esim. logging.error( "Poikkeus tyypistä (!s) check_new_post(): (!s)".format(type(ex).__name__, str(ex))) pass logging.info(" Tarkastus valmis" ) return

Ainoa asia, joka on jäljellä, on kirjoittaa logiikka koko prosessin käynnistämiseksi ja alustaa loggeri, joka kirjoittaa tekstitiedostoon kaikista botin elämän tapahtumista:

if __name__ == "__main__" : # Poistaminen roskapostista pyyntökirjaston lokeissa logging.getLogger("pyynnöt" ).setLevel(logging.CRITICAL) # Asetetaan lokerimme logging.basicConfig(format= "[%(asctime)s] %(filename)s:%(lineno)d %(levelname)s - %(message)s", level=logging.INFO, filename="bot_log.log" , datefmt="%d.%m.%Y %H:%M:%S" ) jos ei SINGLE_RUN: while True : check_new_posts_vk() # Keskeytä 4 minuuttia ennen kuin tarkistat uudelleen logging.info(" Komentosarja meni nukkumaan." ) time.sleep(60 * 4 ) else : check_new_posts_vk() logging.info(" Komentosarja poistui.\n" )

Ennen botin käynnistämistä luodaan manuaalisesti last_known_id.txt-tiedosto ja syötetään siihen yksi viimeisistä numeerisista tunnuksista, minun tapauksessani se oli upea numero 1893. Botin käynnistämisen jälkeen se joko toimii SINGLE_RUN-arvosta riippuen. jatkuvasti, tarkistamalla 4 minuutin välein uusia viestejä, tai päättyy ensimmäisen tarkistuksen päätyttyä. Itselleni valitsin toisen vaihtoehdon, lisäten käsikirjoituksen croniin.

Siinä kaikki tälle päivälle, nyt voit helposti ja yksinkertaisesti määrittää viestien automaattisen lähettämisen kanavallesi melkein mistä tahansa VK-ryhmästä.