Можно ли сделать кнопку, чтобы отсылала к группе, откуда пришло сообщение?
Правильно ли я использовал кнопки Inline? Через них возможно настройку ссылки на группу, откуда было переслано сообщение? И как это можно сделать?
import telebot
import requests
from telebot import types
bot = telebot.TeleBot('token')
my_id = int('1047621278')
@bot.message_handler(commands=['start'])
def start(message):
print(message)
@bot.message_handler(regexp="ключевое слово")
def repeat_all_messages(message):
keyboard = types.InlineKeyboardMarkup()
callback_button = types.InlineKeyboardButton(text="Перейти по сообщению", callback_data="data1")
keyboard.add(callback_button)
bot.send_message(my_id, message.text, reply_markup=keyboard)
bot.polling(none_stop=True)
Ответы (2 шт):
Автор решения: Alex Zab
→ Ссылка
Есть несколько вариантов -
print(message.chat.title)- Для получения названия группы в чатеprint(message.chat.username)- Для получения ника группы (если он существует, иначе получите ошибку)
@bot.message_handler(content_types=['text'])
def repeat_all_messages(message):
print(message.chat.title)
id_chata = message.chat.id # Получаем id чата
if 'ключевое слово' in message.text.lower():
print(message.forward_from_chat.id)- Для полученияidчата из пересланого сообщения (Использовать только когда бот Вам пересылает сообщение, иначе будет ошибка)print(message.forward_from_chat.title)- Для получения названия группы (Использовать только когда бот Вам пересылает сообщение, иначе будет ошибка)print(message.forward_from_chat.username)- Для получения юзернейма группы (Использовать только когда бот Вам пересылает сообщение, иначе будет ошибка)
Что бы сделать ссылку на канал -
chat_name = message.forward_from_chat.username
link_to_chat = 'https://t.me/' + chat_name
print(link_to_chat)
Вывод -
https://t.me/wwp_python
Автор решения: Булат
→ Ссылка
import telebot
import requests
from telebot import types
bot = telebot.TeleBot('TOKEN')
my_id = int('1047621278')
id_Alex='237937423'
@bot.message_handler(commands=['start'])
def start(message):
print(message)
@bot.message_handler(content_types=['text'])
def repeat_all_messages(message):
bot.get_chat_member(message.chat.id,message.from_user.id)
id_chata = message.chat.id
if 'ключевое слово' in message.text.lower():
bot.forward_message(my_id, message.chat.id, message.id)
keyboard = types.InlineKeyboardMarkup()
callback_button = types.InlineKeyboardButton(text='Копировать сообщение', switch_inline_query_current_chat=message.text)
keyboard.add(callback_button)
modul=abs(message.chat.id)
if message.chat.title != None:
bot.send_message(my_id, "[{}](https://web.telegram.org/#/im?p=s{})".format(message.chat.title,modul), disable_web_page_preview=True, parse_mode="Markdown",reply_markup=keyboard)
bot.polling(none_stop=True)