Python – How to send python output to telegram CHANNEL not to Group and gmail email group

emailpythonpython-3.xtelegramtelegram-bot

Hi I have a program in python that generates results every one hour. The result can be of anything.This program will run in local machine or in the virtual private network.

I have two requirements
1. Send this python generated result to one telegram group [Group name "ourworld"](created by me) automatically without user intervention . (I have desktop telegram client running or web.telegram.org running in the same system)

  1. Send this result to gmail group email ID.

what are the methods available to achieve this requirement .Is there any working code available to do this job .Please share the info and details.

Edit:

The Issue that i am facing :

1.created a Bot using BotFather.
2.Adding this Bot to my Group ,Here i get an error could not add an member So added the Bot as admin in the group
3.Token of the BOT noted down.
4. Trying to get ChatId
in this forum (https://web.telegram.org/#/im?p=g154513121) someone says number after p=g is the chartid ,In my case there is no
number it shows @testingname like this.

  1. Using this approach trying to get the Chat ID https://api.telegram.org/bot738909732:AAE-2l7xAAlYHBXprK_a_bex09g9DMZbbDI/getme
    so here 738909732 become a chat Id (in this case why we need seperate
    call for the chart id)
    here it is true as response coming! Here the chat id is the ID of the my "testingname" no chart id generated for the group.
    6.Now packing the URL to see the response i am getting this error.

https://api.telegram.org/bot738909732:AAE-2l7xAAlYHBXprK_a_bex09g9DMZbbDI/sendMessage?chat_id=738909732&text=testing

the output if i run this in browser

{"ok":false,"error_code":400,"description":"Bad Request: chat not
found"} {"ok":false,"error_code":403,"description":"Forbidden: bot
can't send messages to bots"}

How to resolve this issue and make the BOT working .why i am not able to add BOT to my group that says error "Cant Add user"

How to make this telegram group working.

Note : Using BotFather BOT created

Best Answer

In case for sending message to telegram group the above method provided by bipin_s works where the chat_id = -xxxxxx is used.This is correct id followed by - symbol to be used.

For Posting message in the "telegram channel " a minor change needs to be done in the URL.The URL must be framed as below .

url = "https://api.telegram.org/botTokenID/sendMessage?chat_id=@yourChannelChatID&text=message"

Replace the TokenID with your BOT tokenID replace the yourChannelChatID with your channel chart id.Please note that the channel id is not negative id.

the code will look like this

import request

url = "https://api.telegram.org/botXyz:wwwwDFSJSJSAX/sendMessage?chat_id=@telechanneltesting&text=message"
requests.post(url)

Here the "message" as in the URL it will be posted in telegram channel.

How to get channel id ? Go to https://web.telegram.org/#/im in browser ,after login now search your "channel".Now in the browser address bar you will one link like https://web.telegram.org/#/im?p=@llliopppppsssssr

p=@llliopppppsssssr after the equal symbol what comes is channel chat ID.

Related Topic