Proč se můj MacBook zahřívá? Macbook je horký a hlučný. Možné poruchy a náklady na řešení

Tento článek je pro ty, kteří jsou již napojeni Telegramový posel a kontroluje to desítkykrát denně.

Počet fanoušků messengerů každým dnem roste. Koneckonců, Telegram není určen pouze pro komunikaci, hlavní funkce Telegramu jsou kanály zajímavé novinky a užitečné roboty. Pojďme si promluvit o nejúžasnějších z nich.

Budeme mluvit o robotu IFTTT. S jeho pomocí můžete přenášet informace ze stovek různých webových služeb do telegramových kanálů/skupin a také je spravovat pomocí příkazů odeslaných robotovi. Podívejme se podrobně, co se za těmito slovy skrývá.

Co je IFTTT?

IFTTT je webová služba, která umožňuje připojení skoro čtyři stovky další webové služby. S jeho pomocí se můžete ujistit, že v případě jakékoli události v jedné službě se automaticky provede akce v jiné.

Příklady:

  • POKUD je na Instagramu zveřejněna nová fotka, PAK ji uložte na Dropbox;
  • POKUD přišel poštou nový dopis s označením „důležité“, PAK změňte barvu žárovek v ložnici;
  • POKUD jste nedosáhli svého denního cíle kroků ve Fitbit, PAK odešlete připomenutí do iOS.

Taková pravidla se nazývají applety (dříve nazývané „recepty“). Na webu IFTTT si můžete vybrat z desítek tisíc hotových appletů nebo si vytvořit vlastní.

Kategorie služeb, pro které můžete vytvářet applety: blogovací platformy, sociální sítě, cloudové úložiště, inteligentní domácí spotřebiče a auta, služby pro vytváření poznámek a seznamů úkolů, fitness trackery, platformy pro provádění průzkumů a hromadné rozesílání. Úplný seznam.

Nyní se vraťme k tématu článku a podívejme se, jak může být IFTTT užitečný pro uživatele Telegramu.

Způsob aplikace #1. Spojujeme sociální sítě a telegram

Robot IFTTT může automaticky publikovat nové příspěvky z vašich profilů na sociálních sítích (včetně Facebooku, Foursquare, Instagramu, Pinterestu, LinkedIn, Twitteru) na telegramový kanál nebo skupinu. Nebo naopak můžete znovu odeslat zprávy z kanálu Telegram na sociální síti.

Způsob aplikace #2. Sestavení vlastního zpravodajského kanálu

Pomocí IFTTT můžete vysílat informace z různé zdroje: služba předpovědi počasí, Wikipedia, New York Times, Aplikace Apple Store, Github, Medium a mnoho dalších.

Způsob aplikace #3. Svou práci organizujeme efektivněji

Bot IFTTT vám umožňuje organizovat systém připomenutí dopisů a úkolů ve vašem kanálu Telegram. Můžete také přistupovat k řadě služeb správy času (například Rescue Time nebo Todoist), aniž byste opustili Telegram.

Způsob aplikace #4. Propojení telegramu a chytré domácnosti

Nejvíce připojeno k IFTTT různé typy„techniky budoucnosti“: žárovky, termostaty, vypínače, klimatizace, automatické dveře, obaly od vajec, kávovary, myčky nádobí a desítky dalších věcí. Stejně tak vozy BMW a Tesla. Lze přijímat v Telegramové zprávy od jeho pračka, nebo jí naopak můžete posílat objednávky pomocí IFTTT bota.

Způsob aplikace #5. Dejte své rodině vědět o své poloze

IFTTT může sledovat vaši polohu, pokud si nainstalujete jejich aplikaci do smartphonu nebo použijete Whistle GPS pet tracker.

Způsob aplikace #6. Připojte svůj smartphone k Telegramu

IFTTT bot umožňuje posílat na Telegram nový fotografie z fotoaparátu smartphonu, údaje o poloze, nová připomenutí, události kalendáře atd.

Způsob aplikace #7. Archivace příspěvků z telegramu

Fotografie, videa, hudba a zprávy z kanálů/skupin Telegramu lze automaticky ukládat do cloudového úložiště.

Nyní se podívejme, jak implementovat všechny výše popsané funkce ve vašem telegramu. Chcete-li postupovat podle níže uvedených pokynů, budete se muset zaregistrovat na webu IFTTT.

Jak připojit IFTTT k telegramovému kanálu/skupině?

1. Přejděte na webovou stránku IFTTT v části Telegram a klikněte Připojit k instalaci robota IFTTT. Souhlasíme s nabídkou prohlížeče přejít na Telegram.
2. Nezapomeňte kliknout na Start.
3. Zadejte příkaz /connect_channel.
4. Přidejte robota IFTTT ke správcům kanálu/skupiny.
5. Pošlete robotovi IFTTT zprávu s názvem kanálu/skupiny. V mém případě - @ifttt_test.

Jak nastavit applet IFTTT?

Nyní můžete ke kanálu připojit applety. Podívejme se, jak se to stane, na příkladu apletu pro vysílání příspěvků z RSS kanálu do kanálu Telegram.

1. Otevřete robota IFTTT a klikněte na tlačítko Autorizujte IFTTT.
2. Otevře se stránka pro výběr appletů. Vyberte možnost Odeslat nové položky zdroje do telegramového chatu.
3. Přejděte na stránku apletu a posuňte posuvník doprava nad nápisem Zapnout.
4. Vložte odkaz na zdroj RSS (například http://feeds.feedburner.com/site) a vyberte jeden z připojených kanálů nebo skupin ze seznamu.
6. Aktivovaný aplet se nyní objeví nad ostatními aplety na stránce Telegram na webu IFTTT. Dá se libovolně zapínat a vypínat.
7. Počkejte, až se objeví v kanálu nový příspěvek a radovat se z jeho vystoupení na kanálu Telegram.

30. října 2015 v 07:46

Vytvoření kanálu s automatickým odesíláním v telegramu bez jediný řádek kód

  • API,
  • Systémy zasílání zpráv
  • Konzultace

Zavedení

Hned vás varuji: v článku je velmi málo technického. Je to prakticky pokyny krok za krokem pro ty, kteří nejsou příliš znalí technicky uživatelů. Pro znalé lidi (a ty, kteří jsou příliš líní číst spoustu textu), poskytnu dva odkazy: Telegram Bots API + IFTTT Maker Channel.

Nyní více podrobností. Myslím, že každý slyšel o telegramovém messengeru. Pravděpodobně mnozí dokonce vědí o jednoduchém API pro vytváření botů v tomto messengeru. Kromě toho, není to tak dávno, v T bylo možné vytvářet takzvané „kanály“, které zjednodušují okamžitou distribuci zpráv téměř libovolnému počtu lidí, kteří se přihlásili k odběru kanálu. Na závěr poslední novinky: Roboty lze nyní přidat jako správce kanálů, to znamená, že takové rozesílání lze nyní provádět automaticky.

Myslím, že není třeba vysvětlovat, že se to docela otevírá dostatek příležitostí Pro různé služby. Například jsem byl schopen docela rychle udělat následující:

  • tři kanály (@RedditTop, @r_pics, @gone_wild – pozor, poslední s „dospělým“ obsahem), které každou hodinu importují nejlepší příspěvky z Redditu (a jeho dvou subredditů);
  • jiný kanál, který dělá totéž s příspěvky od 9GAG;
  • a nakonec vytvořil mazaného bota @JamesBot, který anonymně přeposílá všechny jemu napsané zprávy společný kanál(@secret_ru, @secret_en, @secret_es, @secret_ar nebo @secret_fa – v závislosti na jazyce). Ukázalo se anonymní chat střední úroveň odpadu.
Po vytvoření všech těchto robotů a kanálů mě napadlo, že nejjednodušší automatický import příspěvků odněkud „zvenčí“ lze nastavit bez jakéhokoli kódu nebo hostingu – doslova za 5 minut naše pomoc – If This Then That, která má mnoho integrací se sociálními sítěmi a dalšími službami. Pravda, bohužel nemá (zatím?) přímou integraci s Telegramem – ale má tzv. Kanál IFTTT Maker, který vám umožňuje provádět jednoduché HTTP(S) požadavky, když se spustí trigger. Bohužel nebudeme moci přijímat zprávy odeslané botovi (IFTTT Maker může přijímat příchozí požadavky, ale bohužel pouze v přesně definovaném formátu) - nedojde k žádné interakci. Ale když se spustí jakákoli událost (například nový tweet nebo příspěvek na FB), můžeme:
  • poslat zprávu na kanál,
  • odeslat zprávu na předem vybraný chat (kam je přidán náš robot),
  • poslat zprávu předem určenému uživateli(který si přidal robota).
Pravda, spoušť se spustí přibližně jednou za 15 minut. A dosud neexistoval způsob, jak nahrát obrázky/videa/dokumenty (můžete na ně uvést pouze odkaz). Ano, omezení jsou přísná. Ale pro jednoduchá upozornění to bude stačit. Takže, jdeme.

Krok 1. Vytvořte robota.

Pokud jde o vytvoření robota, musíte kontaktovat samotného hlavního robota: @BotFather. Budete požádáni o dvě věci: jméno, které se objeví v dialogovém seznamu, a uživatelské jméno, pomocí kterého lze vašeho robota najít (musí být jedinečný). Pokud je cílem publikovat příspěvky na kanálu, není ani jedno, ani druhé zvlášť důležité (svého administrátora uvidíte pouze vy).

Po obdržení odpovědí na tyto dvě otázky by vám měl dát BotFather žeton váš robot. Vypadá to takto:
123456789:Blablabla...

Zpráva s tokenem by se neměla ztratit a samotný token by neměl být nikomu prozrazen, protože token umožňuje komukoli předstírat, že je vaším robotem.

Krok 2. Vytvořte kanál.

Vytvoření kanálu je volitelný krok. Pokud chcete, můžete posílat zprávy do chatu nebo uživateli (ačkoli budete muset nejprve zjistit jejich ID - více o tom níže).

V našem telegramovém klientovi vyberte vytvoření nové zprávy - Nový kanál(všechno se zdá být oficiální klienti nyní to podporují). Uvádíme název, popis a fotografii dle vašeho vkusu. Kanál musí být veřejný, proto zadáme typ Public a nastavíme adresu („uživatelské jméno“) kanálu. Krok s pozváním přátel můžete přeskočit.

Po vytvoření kanálu přejděte do jeho nastavení, otevřete seznam administrátorů a přidejte robota vytvořeného v prvním kroku (vyhledáním podle jeho uživatelského jména).

Krok 3. Nastavte integraci na IFTTT.

Pojďme na IFTTT. Pojďme se zaregistrovat, pokud jste to ještě neudělali. IFTTT vám umožňuje vytvořit mnoho spouštěčů, jako je „import z“, „za jakých podmínek“, „export do“. Říká se jim „recepty“. tvoříme nový recept: Vytvořte recept.

Nejprve je potřeba vybrat zdroj a konkrétní podmínku (spouštěč), kterou se má recept spustit. Zde nejste ničím omezeni: pokud chcete, sledujte tweety pomocí hashtagu, pokud chcete, přenášejte své příspěvky z Facebooku. Nebudu zabíhat do detailů, vše je docela jednoduché.

Poslední část receptu je „to“ – vyberte, co dělat, pokud je podmínka spuštěna. Zde je potřeba zadat do vyhledávání Výrobce, vyberte jej a poté jediný dostupná akce - Zadejte webovou žádost. Konečně - nejdůležitější fáze, vyplnění polí:

  • URL: api.telegram.org/bot /odeslatZprávu
  • Metoda: ZVEŘEJNIT
  • Typ obsahu: aplikace/json
  • Tělo:("chat_id":"@ ","text":"((Text))")
(pozn.: způsob a typ obsahu si mohou vybrat jiní - Telegram je v tomto ohledu poměrně všežravý)

Poznámka: místo a URL, musíte místo toho zadat token vašeho bota (viz krok 1). v těle - adresa kanálu (krok 2). Samozřejmě bez lomených závorek, ale před adresou kanálu musí být symbol @ . ((Text)) v poli Body znamená nahrazení textu získaného z publikovaného příspěvku. Specifický kód náhrady mohou být různé, závisí na vybraném spouštěči, chcete-li zobrazit jejich seznam (a nahradit je v textu zprávy), klikněte na tlačítko s baňkou vedle pole Tělo. Samozřejmě se můžete vyhnout záměnám a publikovat stejný text, ale to bude odběratele rychle nudit :)

Upřesnění: pokud chcete poslat zprávu ne na kanál, ale do chatu nebo na konkrétní osobu(například sobě), pak místo „@ " musíte zadat ID chatu nebo této osoby. Chcete-li to zjistit, je nejjednodušší přidat k sobě např.

Z 1000 odběratelů jsem se rozrostl na 8000 Od té doby jsem pochopil, jaké chyby jsem dělal v prvních fázích propagace svého kanálu a jak se jim mohou začátečníci vyhnout. Mnoho začínajících autorů na Telegramu se ptá, co mohu doporučit. Rozhodl jsem se tedy aktualizovat svůj starý článek a učinit rady relevantnější a správnější.

Toto je aktualizace článku z října 2016

Co zveřejnit?

V Telegramu, stejně jako v jakékoli jiné sociální síti, je v první řadě důležité, o čem píšete. Jedna věc stojí za zvážení důležitý bod. Lidé zde nechtějí číst reposty, copy-paste a další typy obsahu, který má každý. Odběratelé si vybírají kanály, které mají názor autora, jedinečný pohled na populární zprávy nebo specializovaná témata. Téma může být populární, ale stále stojí za to psát o svém vlastním.

Dlouhé příspěvky je lepší nepublikovat. I na běžných sociálních sítích málokdy někdo čte za titulek. Osobně se snažím psát ve formátu Twitter. Krátký příspěvek s obrázkem a odkazem s uvedením zdroje. Můj kanál je jako katalog užitečné služby a programy. Vytvořil jsem proto seznam značek, které předplatitelé snadno najdou požadovaný program. Vypadá to takto:

Kdy je nejlepší čas zveřejňovat příspěvky na telegramu?

Vybrat správný čas Publikování příspěvku je hlavním úkolem na jakékoli sociální síti. Zdá se mi, že na tom pro Telegram nezáleží a existuje pro to několik důvodů:

  1. Vaši odběratelé mají různá časová pásma. Chcete zveřejnit příspěvek ve tři ráno? Prosím.
  2. Někteří odběratelé mají pro váš kanál vypnutá oznámení.
  3. Předplatitelé již mají celou řadu kanálů.

Z těchto tři body Lze vyvodit jeden jednoduchý závěr. Telegram je jako zdroj RSS. Váš příspěvek bude přečten, až to bude pro odběratele vhodné. Proto byste za den neměli zveřejňovat příliš mnoho informací. Nikdo nebude číst „list“ s 10 500 příspěvky. Což já osobně nedělám. a dál momentálně Přemýšlím o řešení problému - aby byl zdroj často aktualizován, ale odběratelé netrpěli počtem příspěvků.

Většina rusky mluvící uživatelé Telegram je Moskva a Petrohrad. Proto, pokud chcete, vyberte si nejvíce optimální čas a poté vyberte Moskvu.

Je tu ještě jeden trik. Příspěvky lze odesílat bez upozornění uživatelů. Chcete-li to provést, stačí přepnout ikonu zvonku a zpráva bude odeslána kanálu bez upozornění.

Zpožděné odeslání

Chcete-li ještě méně přemýšlet o naplnění kanálu obsahem během dne, použijte nástroje pro plánování příspěvků. Například KUKU.

Pomocí plánování příspěvků můžete předdefinovat příspěvky pro svůj zdroj, abyste mohli celý den dělat to, co máte rádi.

Jak formátovat příspěvky

Samotný messenger nepodporuje žádné formátování. Odkazy vypadají jako http://links. mastný text je tučný atd. Zde přicházejí na pomoc roboti jako @markdownrobot. Pomocí tohoto robota můžete formátovat své příspěvky pomocí značek Markdown.

Pokud máte dobré dovednosti v zacházení s roboty, můžete vytvářet příspěvky s téměř jakýmkoliv designem. Například v kanálu agregátoru různých produktů od Aliexpress @aliexpressall se k příspěvkům přidávají tlačítka:

Zde je důležité připomenout, že ne každý Klienti telegramu podporovat podobné značení. Někteří předplatitelé proto nemusí zprávu vůbec vidět. Kromě toho můžete k příspěvkům přidávat hlasy, lajky, ankety a mnoho dalšího.

Jak udržovat statistiky kanálu

Pro udržování statistik kanálu byl znovu vynalezen užitečný bot@ControllerBot. Po připojení ke svému kanálu si od něj můžete vyžádat statistiky minulý měsíc. Robot odpoví textovými daty a krásným grafem růstu.

Vzájemné PR

Jak jsem psal na samém začátku, je těžké oslovit vaše publikum na Telegramu. Jedním z nástrojů k nalezení dvou „osamělých srdcí“ proto bude vzájemné PR. Najděte kanály s podobnými tématy, pokud možno se stejným počtem čtenářů jako vy. Pak neváhejte napsat adminům s návrhem na vzájemné PR. Mnozí šťastně souhlasí.

Jak takové PR vypadá? Na svém kanálu zveřejníte příspěvek inzerující kanál někoho jiného. Admin jako odpověď zveřejní váš inzerát. Je třeba si uvědomit, že s takovými příspěvky to nemůžete přehánět. Jinak všichni stávající čtenáři před spamem utečou. Jeden posílám reklamní příspěvek za den.

Klíčové body, které je třeba vědět:

  • VP - vzájemné PR;
  • „Mega“ je velmi podobné VP. V tomto případě se shromáždí všechny kanály, které se chtějí zúčastnit obecný seznam a reklama běží ve všech současně;
  • Hodina nebo jiná doba nahoře - po zveřejnění reklamního příspěvku musí do dalšího zveřejnění uplynout alespoň hodina;
  • 24 hodin ve feedu - reklamní příspěvek není během dne z feedu odstraněn. Ano, reklamní příspěvek lze smazat.
  • Pohledy. Někteří administrátoři nechávají příspěvek, dokud se nedostane požadované množství pohledy.

Připravte se předem stručný popis kanál, obrázek a soukromý odkaz. Kliknutím na takový odkaz se návštěvník automaticky stává odběratelem. Odkaz získáte v nastavení kanálu > nastavte typ kanálu na „Soukromý“. Poté obdržíte soukromý odkaz. Nezapomeňte změnit stav kanálu zpět na „veřejný“.

Je důležité okamžitě začít měřit konverze od VP a inzerovat váš kanál. To bude obtížné kvůli nedostatku nástrojů pro sběr a analýzu statistik. Ale to je potřeba udělat a čím dříve, tím lépe. Tímto způsobem budete okamžitě vědět, se kterými kanály musíte v budoucnu spolupracovat.

K tomu používám tabulku v Dokumentech Google:

Katalogy kanálů

Katalogy kanálů - další skvělý způsob prohlásit se. Je to částečně podobné vzájemnému PR. Protože budete s největší pravděpodobností požádáni o zveřejnění inzerátu na katalog na svých stránkách. Někdo váš kanál zveřejní za peníze a někdo „za díky“. Každopádně dostat se do katalogu je mnohem snazší, než se dohodnout na vzájemném PR. Katalogů je na Telegramu nespočet a najít je není těžké.

Zde je například seznam užitečné adresáře z @tginfo, kde byste měli začít hledat:

  • @CatalogTelegram – strukturovaný katalog chatů, kanálů a robotů.
  • tgchans.com - adresář kanálu s pokročilými statistikami a sledováním repostů.
  • inten.to – indexování chatů, kanálů a robotů v reálném čase.
  • tlgrm.ru/channels – stránka s kanály seřazenými podle nadpisů.
  • tchannels.me je nejstarší adresář kanálu.
  • telegram-club.ru - chaty, kanály a roboti.
  • tlgrm.pro - chaty, kanály a roboti.
  • storegram.ru - roboti a kanály s hodnocením.
  • tgcreator.ru - hodnocení kanálů a robotů.
  • uztelegram.com - kanály Uzbekistánu.

Pokud chcete propagovat svého robota, budete potřebovat adresáře botů:

  • @Obzorchik - roboti každý den, stejně jako stránky s roboty;

Samozřejmě jsme nezapomněli ani na skupinové katalogy. Například @groupsguide a combot.org/telegram/top/chats, kde nejvíce populární skupiny podle statistik @comstatbot.

Samozřejmě, pokud se nechcete a nemáte čas se do toho ponořit sami, můžete si na tomto webu objednat službu propagace telegramů, kde za malé procento udělají vše za vás.

Kromě katalogů existují také autorské kanály zaměřené na publikování všeho, co souvisí s Telegramem. Pomocí takových kanálů můžete také „oslovit“ své publikum. Například kanál Your Telegram zveřejňuje novinky o messengeru a tipy, jak jej používat. Reklama na takovém kanálu bude proto pro jeho předplatitele zajímavá. Původně sem přišli hledat zajímavé kanály a novinky o telegramu.

Hlavní věcí je zvážit publikum kanálů, se kterými plánujete spolupracovat.

Nákup předplatitelů

Nejdražší, ale také nejjednodušší možností, jak přilákat čtenáře, je „hnat“ je za peníze. Na Telegramu jsou lidé, kteří za peníze rádi přilákají živé předplatitele vašeho kanálu. Obvykle je to pár rublů na hlavu.

Tento typ propagace si můžete objednat u některých administrátorů adresářů. Měli byste začít s @User_Administration, která vám pomůže šířit informace o vás ve více než 30 telegramových kanálech. V tomto případě bude mít poloměr pokrytí diverzifikované zaměření a ovlivní většina z publikum.

Řekněte nám o sobě na jiných sociálních sítích

Hlavním místem pro mé příspěvky je můj blog. Pak jdou sociální média A seznam adresátů. U tebe je to asi stejné. Nezanedbávejte tedy své sledující na Twitteru nebo webu. Řekněte nám o svém kanálu na své stránce sociální skupiny a lidé vás osloví.

Konečně

Mluvil jsem pouze o hlavních tricích propagace kanálu na Telegramu. Díky nim si mohu snadno udržet stávající publikum svého kanálu a přilákat nové odběratele.

Nezůstávejte jen u těchto tipů. Vždy hledejte nové techniky, jak přilákat předplatitele. Abych zůstal „u tématu“ s marketingem na Telegramu a na jiných sítích, přihlásil jsem se k odběru několika kanálů.

Telegram messenger má větší funkčnost, která nekončí zasíláním zpráv od uživatele k uživateli. Rozšiřují možnosti aplikace, včetně botů, kteří dokážou automatizovat určité funkce. Boti mohou být extrémně jednoduché nebo složité a multifunkční. V tomto článku se podíváme na to, jak vytvořit bota v telegramu.

Obsah:

Co jsou boti v telegramu

Telegram bot je automatizovaný program, vložené přímo do kanálu, skupiny nebo chatu messengeru. Bot může vykonat maximum různé funkce, Například:

  • Zasílat oznámení o článcích z webu po jejich zveřejnění;
  • Sbírejte objednávky;
  • Poskytněte informace v něm obsažené, odpovězte například na některé otázky.

Funkčnost robotů Telegram je rozsáhlá a každý rok jsou stále „chytřejší“. Prostřednictvím některých botů si můžete například objednat jídlo, zavolat si taxi, zjistit, jak se dostat na konkrétní místo, poradit se s konkrétním problémem a podobně. Boti přitom fungují okamžitě, to znamená, že když jim pošlete zprávu, téměř okamžitě dostanete odpověď, což je v řadě situací nesmírně důležité.

Jak vytvořit robota v telegramu

Existuje několik způsobů, jak vytvořit vlastního bota v Telegramu. První zahrnuje použití služeb zabudovaných do messengeru, které vám umožňují vytvářet roboty s jednoduchou funkčností odesíláním příkazů do chatu. Druhá metoda je složitá – zahrnuje interakci s Telegram API by vlastní tvorba scénáře, jinými slovy, tato metoda vyžaduje značné znalosti programování, ale je možné vytvořit funkční řešení.

Podívejme se, jak vytvořit bota v telegramu pomocí služby třetí strany, tedy jednoduchým způsobem:


To je vše, bot je vytvořen. Manybot po úspěšné tvoření Bot nabídne odeslání odkazu na něj, aby se uživatelé Telegramu mohli přihlásit k odběru.

Jak nastavit automatické odesílání v Telegramu z VKontakte, z webu a dalších služeb

Po vytvoření robota podle výše popsaných pokynů jej můžete nakonfigurovat automatické zveřejnění informace, které se objevily na vašem webu (nebo někoho jiného), ve skupině VKontakte, na kanálu YouTube nebo na stránce v Cvrlikání. Nastavení robota je poměrně jednoduché, vše, co musíte udělat, je:


Stojí za zmínku, že k jednomu botovi můžete připojit informace z různých zdrojů. Pohodlně si tak můžete vytvořit RSS feed, kam se vám budou hrnout zprávy ze stránek, které vás zajímají.

Poznámka: na začátku roku 2017 začal VK vyžadovat uživatelský token pro volání metody wall.get a mnoha dalších. Proces získání tokenu pro VK nesouvisí s tématem učebnice, proto nebude popisován. Na odkazu https://vk.com/dev/manuals může každý najít dokumentaci a popis procesu získání tokenu.

Na začátek malá lyrická odbočka.
Když se kanály objevily na Telegramu, nejprve jsem je považoval za neúspěšný pokus klon Twitteru. Okamžitě se objevily hloupé kanály s hloupými obrázky, což situaci jen zhoršilo. Nyní, po více než měsíci, se však můj názor změnil v diametrálně opačný. Kanály byly navrženy tak, aby nahradily seznamy adresátů (použil je někdo někdy?), a umožnily přijímat obrovské množství obsahu, který lze sdílet a ukládat.

V často kladených dotazech o botech je zajímavá věta: „Budeme pečlivě zkoumat, jak lidé používají roboty a rozvíjet je tímto směrem.“ Vzhledem k tomu, že mnoho robotů bylo zapojeno do odesílání informací, jsou kanály velmi logickým a správným krokem ve vývoji automatických nástrojů.
Z pohledu programátora řeší kanály několik klíčových problémů najednou:

  1. Není třeba se spoléhat na telegramové servery, protože... žádné příchozí zprávy.
  2. Anonymní odesílání zpráv (někteří lidé žádali o možnost posílat své zprávy prostřednictvím robota „bez tváře“) bylo co nejvíce zjednodušeno.
  3. Není potřeba udržovat seznamy uživatelů, kterým potřebujete posílat informace, a zavádět pauzy mezi odesíláním zpráv všem, o to se postará sám Telegram.

Osobně jsem si všiml, že některé veřejné stránky a skupiny na VKontakte začaly duplikovat své záznamy Telegramové kanály. Dnes se naučíme, jak udělat totéž bez pomoci jakýchkoli tvůrců nebo webových stránek třetích stran. Abychom se moc neobtěžovali, zveřejníme pouze odkaz na příspěvek, jeho náhled dá potřebné minimum informací o příspěvku.

Získávání záznamů

Jako "pokusného králíka" jsem si vybral svou malou, ale velmi hrdou skupinku s muzikou C:\Hudba. Budeme přijímat nové záznamy pomocí VK API a nemusíme se obtěžovat vytvářením aplikací, protože Můžete dostávat příspěvky ze zdi i bez autorizace VKontakte (pokud není v nastavení komunity uvedeno jinak)
Vytvořme tedy odkaz, který vrátí posledních 10 záznamů jménem komunity ze skupiny C:\Music: https://api.vk.com/method/wall.get?domain=c.music&count=10&filter= vlastník&access_token=token
Co je tady? doména- krátké jméno společenství. Pokud tam není, změňte doménu=xxx na id_vlastníka=-yyy (pozor na mínus před číslem, to je důležité). počet - počet záznamů k zobrazení. Čím delší je pauza mezi kontrolami a čím častěji se v komunitě objevují záznamy, tím větší číslo musí být nastaveno, ale ne více než 100. filter=owner žádá server, aby zobrazoval záznamy pouze jménem skupiny, užitečné, pokud je otevřená zeď, access_token je uživatelský token, který „stahuje“ API jménem jednoho z aplikace. Pojďme si nyní vytvořit soubor bot.py, ve kterém nastavíme hlavní konstanty a importy:

# -*- kódování: utf-8 -*- čas importu import událostí import požadavky import logging import telebot z času import spánku # Pokaždé dostaneme 10 nejnovější záznamy ze zdi URL_VK = "https://api.vk.com/method/wall.get?domain=c.music&count=10&filter=owner&access_token=Your_token_VK" FILENAME_VK = "last_known_id.txt" BASE_POST_URL = "https://vk.com/wall-39270586_" BOT_TOKEN = "token příspěvku robota na kanál" CHANNEL_NAME = "@kanál" bot = telebot.TeleBot(BOT_TOKEN)

Za prvé, nezapomeňte to udělat požadovaný robot správce kanálu, jinak fokus selže. Za druhé, mějte na paměti, že se v importech objevila knihovna událostí, která nám pomůže vyhnout se problémům při přijímání záznamů z VK. Za třetí, do zadaného txt souboru zaznamenáme číslo nejvyššího příspěvku v době ověření. Rozhodl jsem se kvůli jednomu číslu neobtěžovat vytvářením úložišť klíč-hodnota. Za čtvrté, jako parametr BASE_POST_URL uvedeme odkaz na jakýkoli příspěvek z naší skupiny bez posledního čísla.

Někdy VK začne jednat a nevrátí seznam příspěvků v přijatelném čase. V tomto případě musíme vypršet a kontrolu přeskočit. Můžete to samozřejmě zkusit znovu, ale nejsme vytrvalí lidé :)

def get_data(): timeout = eventlet.Timeout(10 ) try : feed = requirements.get(URL_VK) return feed.json() kromě eventlet.timeout.Timeout: logging.warning( "Při načítání dat VK JSON vypršel časový limit. Probíhá zrušení...") return None nakonec: timeout.cancel()

Myšlenka je jednoduchá: fungovalo to - vracíme objekt se sloupky. Nefungovalo to – vracíme Žádné. Nyní přejdeme přímo k analýze. Algoritmus bude vypadat takto:

  1. Otevřete soubor, ve kterém je uloženo poslední známé číslo horního příspěvku.
  2. Pokud metoda get_data() vrátila objekt se záznamy, začneme jej procházet od druhého prvku, protože první je nějaké pro mě neznámé náhodné číslo.
  3. Pokud je číslo příspěvku menší nebo rovno poslednímu známému, procházení dokončíme.
  4. Kontrola připnutého příspěvku. Pokud existuje, pak všechny záznamy kromě připnutého přeneseme do funkce odeslání zprávy. Jinak vše jen přeneseme.
  5. Vezmeme ID z každého kontrolovaného záznamu, vložíme ho vedle BASE_POST_URL a získáme úplné ID záznamu.
  6. Odešleme to na kanál.
  7. Jakmile je průchod dokončen, vezmeme číslo prvního (druhého, pokud je první) záznamu a zapíšeme ho do souboru přes starou hodnotu.
  8. Usínáme nebo končíme.

K bodu 8: v našem programu navíc poskytneme dva režimy: v prvním režimu skript neustále pracuje a po každé iteraci na 4 minuty usne; ve druhém režimu se skript jednoduše ukončí, což vám umožní vložit jej do plánovače cronu. Konstantní proměnná SINGLE_RUN nám pomůže v určení módu, který musíme nezapomenout uvést někde nahoře.

def send_new_posts (items, last_id) : pro položku v položkách: if item["id" ]<= last_id: break link = "{!s}{!s}" .format(BASE_POST_URL, item["id" ]) bot.send_message(CHANNEL_NAME, link) # Spěte na sekundu, abyste se vyhnuli nejrůznějším chybám a omezením (jen pro případ!) time.sleep(1) návrat def check_new_posts_vk() : # Napište aktuální čas začátku logging.info( "Zahájeno vyhledávání nových příspěvků") s open(FILENAME_VK, "rt" ) jako soubor: last_id = int(file.read()), pokud je last_id None : logging.error( "Nelze číst z úložiště. Přeskočená iterace.") return logging.info("Last ID (VK) = (!s)" .format(last_id)) try : feed = get_data() # Pokud časový limit nastal dříve, přeskočte iteraci. Pokud je vše v pořádku, analyzujeme příspěvky. pokud zdroj není Žádný : entries = feed["response" ] zkuste : # Pokud byl příspěvek připnutý, přeskočte jej tmp = entries["is_pinned" ] # A začněte posílat zprávy send_new_posts(entries, last_id) kromě KeyError: send_new_posts(entries, last_id) # Zapište do souboru nové last_id. s open(FILENAME_VK, "wt" ) jako soubor: try : tmp = entries["is_pinned" ] # Pokud je první příspěvek připnutý, uložte ID druhého file.write(str(entries["id" ])) logging.info("New last_id (VK) is (!s)" .format((entries["id" ]))) kromě KeyError: file.write( str(entries["id" ])) logging.info("New last_id (VK) is (!s)" .format((entries["id" ]))) kromě výjimky jako např.: logging.error( "Výjimka typu (!s) v check_new_post(): (!s)".format(type(ex).__name__, str(ex))) pass logging.info(" Dokončeno skenování" ) return

Jediné, co zbývá udělat, je napsat logiku pro spuštění celého procesu a inicializovat logger, který bude zapisovat do textového souboru o všech událostech v životě robota:

if __name__ == "__main__" : # Zbavení se spamu v protokolech z knihovny požadavků logging.getLogger("requests" ).setLevel(logging.CRITICAL) # Nastavení našeho loggeru 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" ), pokud ne SINGLE_RUN: while True : check_new_posts_vk() # Před další kontrolou počkejte 4 minuty logging.info(" Skript přešel do režimu spánku." ) time.sleep(60 * 4 ) else : check_new_posts_vk() logging.info(" Skript ukončen.\n" )

Před spuštěním bota si ručně vytvořte soubor last_known_id.txt a zadejte do něj jedno z posledních číselných ID, v mém případě to bylo nádherné číslo 1893. Po zapnutí bota v závislosti na hodnotě SINGLE_RUN buď bude fungovat neustále, kontrola každé 4 minuty na přítomnost nových příspěvků, nebo skončí po skončení první kontroly. Pro sebe jsem zvolil druhou možnost, přidání skriptu do cronu.

To je pro dnešek vše, nyní můžete snadno a jednoduše nastavit automatické odesílání příspěvků z téměř jakékoli skupiny VK na váš kanál.




Nahoru