ロボットに取引チャネルと投資チャネルを読み取らせた方法

みなさん、こんにちは!私の工芸品の1つを共有したいのですが、他の誰かに役立つかもしれません。そのようなロボットを組み立てることができるコード例を追加して、Habrの記事を書き直すことにしました。誰が気にする、猫へようこそ。





バックグラウンド

約半年前、預金金利が別の底を突破し、今回はインフレ率を下回ったため、投資のトピックを理解し始めました。これはもちろん非常に悲しいことです。それでも、このイベントのおかげで、私は投資のトピックに飛び込み、多くの新しくて興味深いことを学びました。これで、株式と債券を区別できるようになりました。





このトピックについての私の知り合いは、いくつかの方向で行われました。





最初に、私はいくつかの株を購入し、それらの相場が特定のニュースにどのように反応するかを見始めました。突然、優れたレポートの後、価格が下がる可能性があることが判明しました(良いニュースでは、大規模なプレーヤーが利益を修正しようとすることが多く、見積もりが崩壊するためです)。





第二に、私は毎日、交換条件、現象、関係を分解し、カートに自分用のメモを書き始めました。6か月で500件のそのような投稿がありました。





第三に、私はRBK、Finam、そしてカートのチャンネルでニュースを読み始めました。同時に、私自身が気付いたように、引用符の動きとイベントの関係を見たいときは時間的要素が重要になるので、次第に完全に電報に注意が移りました。





最初はすべてを読んで面白かったのですが、特定のイベントを評価する際に異なるチャネル間の不一致に気づき始めました。人々(専門家を含む)は常に予測を誤っているため、情報を批判的に見る必要があることに気付きました。すでに証券取引所に出回っています。それにもかかわらず、この形式での絶え間ない分析は、トピックに十分に没頭し、この問題またはその問題についてすでに独自の意見を形成しています。





情報の無限の流れの問題

, , , , "" , - , , , , , . , , "", , , , "" , .





, 150 , , , , , , , .





, -, , , . .





, -, , , -, — , , «Yandex», «», «YNDX». , , . , ? .





telethon





from telethon import TelegramClient, events, sync
from telethon.tl.functions.channels import JoinChannelRequest
import re
      
      



, API https://my.telegram.org/, , "API development tools", 2 , Platform Desktop.





App api_id, App api_hash . PHONE_NUMBER , .





API_ID = 1234567 #   api_id
API_HASH = 'your_hash'
PHONE_NUMBER = '+7xxxxxxxxxx'  
      
      



,





 CHANNELS = (
             'channel1_name',  #     
             'channel2_name',  #  https://t.me, @   -  
   					 'channel3_name    
             )  
      
      



, , . , , .





# 
names = {
    'channel1_to_post': ['interesting_text1', 
                         'interesting_text2'],
    'channel2_to_post': ['other_channel_interesting_text1', 
                         'other_channel_interesting_text2', 
                         'other_channel_interesting_text3'],
}
# ""     +    
d = {}
for name in names.keys():
    for t in names[name]:
        d[t.lower()] = name.lower()
print(d)
      
      



- , :





client = TelegramClient('session', API_ID, API_HASH)
client.start()

for channel in CHANNELS:
    client(JoinChannelRequest(channel))
      
      



, ,





#     
@client.on(events.NewMessage(CHANNELS))
async def handler(event):
    print(f'received text: {event.message.message}')
    
    for tmp in d.keys():
      await client.forward_messages(d[tmp], event.message)

client.run_until_disconnected()
      
      



( , 150 )





t.me/tesla_twits - Tesla

t.me/apple_twits - Apple

t.me/amazon_twits - Amazon

t.me/moderna_twits - Moderna

t.me/pfizer_twits - Pfizer

t.me/google_twits - Google

t.me/facebook_twits - Facebook

t.me/microsoft_twits - Microsoft

t.me/yandex_twits -

t.me/mailru_twits - Mail.ru

t.me/mts_twits -

t.me/aeroflot_twits -

t.me/rosneft_twits -

t.me/sber_twits -

t.me/gazprom_twits -

t.me/afk_twits -

t.me/nornickel_twits  -ノリリスク・ニッケルの

t.me/vtb_twits  - VTBの

t.me/rusal_twits  -ルサールの

t.me/lukoil_twits  -ルクオイル





私以外の誰かがそれをいただければ幸いです。したがって、これらの会社の株式を所有していて、なぜ彼らが落ち込んでいるのかを定期的に理解していない場合、または単に時間通りに低価格でそれらを「拾い上げ」たい場合は、購読してください。残念ながら、Telegramでは限られた数のオープンチャネルを作成できるため、サブスクライバーの数が最も少ないチャネルを削除します。





すべて良いです!








All Articles