
Sergey
13.12.2017
19:31:53
хера
как то телега не продумала этот момент
@rust_resisting_banned а у тебя как с рассылкой дела? вроде тоже аудитория большая

Павел
13.12.2017
19:33:56
Привет. 2+к - это большая?

Google

Павел
13.12.2017
19:34:00
Но пока не рассылал - честно! =)
Рассылаю по "домашнему" боту, там около 600, с таймингом в 1 сек. Рассылки раз в 1-2 мес. Полет норм был

Sergey
13.12.2017
19:38:58
ну да
1 сек это жёстко
ладно завтра с логированием запущу рассылку и посмотрю у кого какие ошибки
а кто знает есть ли разница между sendMessage и sendChatAction? если лимиты одни и те же, вторым можно чекнуть

Ihor
13.12.2017
20:06:27
в telepot можно как-то организовать ожидание ввода сообщения юзера или что-то типа того? Просто сейчас выходит например я пишу "Добавить Имя". Бот отправляет в ответ "Введите Имя", но в message.text хранится уже строка "Добавить Имя" и вместо предложения добавить имя вместо него добавляется "добавить имя"

Sergey❄️
13.12.2017
20:07:16
Какой-то неправильный message.text сохраняешь

Gaiaz Iusipov
13.12.2017
20:31:46
Народ как мне обрабатывать нажатия на кнопки если тект в них может быть на разных языках?
я кроме как подвязывания на эмоджи и игнорирование остального текста решений не вижу

Sergey❄️
13.12.2017
20:32:20
Делать их инлайн кнопками

Gaiaz Iusipov
13.12.2017
20:32:45
а на не инлайн никак получается? :(

Sergey
13.12.2017
20:33:00
связал тексты и выдавал

Gaiaz Iusipov
13.12.2017
20:33:40

Google

Sergey❄️
13.12.2017
20:33:41
Переведи текст на язык юзера и сравни
это как в джанге сделать translation.activate

Sergey
13.12.2017
20:34:17

Gaiaz Iusipov
13.12.2017
20:35:47
дак связывать тексты нужно
компонент перевода не расчитан что значения перевода как идентификатора в коде используются, там нет такого "перебрать все переводы на всех локалях в поисках строки"

Sergey
13.12.2017
20:35:54
если я выбрал в настройках русский язык то допустим в меню1 будет кнопка Привет по нажатию выдаст текст Привет Сергей
а если англ будет в настойках то в меню1 будет кнопка Hi которая при нажатии выдаст Hi Sergey
думаю понял о чем я

Gaiaz Iusipov
13.12.2017
20:36:58
то есть можно "искать перевод" и название перевода будет тот самый идентификатор to_hello

Sergey❄️
13.12.2017
20:37:48

Gaiaz Iusipov
13.12.2017
20:40:03

Sergey❄️
13.12.2017
20:40:31
ну я хз как ты там делаешь)

Gaiaz Iusipov
13.12.2017
20:40:34
то есть цепочки if else нет
она слишком примитивна, сложную структуру не сделать

Sergey❄️
13.12.2017
20:40:59
Просто перевод строчки
У тебя же есть ведь идентификатор каждой строки, так ведь?

Gaiaz Iusipov
13.12.2017
20:41:39

Sergey❄️
13.12.2017
20:41:53
Сделай идентификатором английский язык
и просто переводи если не англ

Gaiaz Iusipov
13.12.2017
20:42:21
*думаю*

Sergey❄️
13.12.2017
20:42:38
Ну тут вот
if message.text == translate_to_user_language("Main Menu")

Google

Gaiaz Iusipov
13.12.2017
20:43:19
хм спасибо надо попробовать, без проблем все такие переводы можно запихнуть в отдельный неймспейс так как они от пользователя идут...
Спасибо. должно заработать, даже если рассинхрон текущей клавиатуры и установленной через настройки локали в базе будет - ничего страшного просто покажется правильная клавиатура следующим шагом
из минусов - это костыль. Если id я могу не переименовывать вообще, то текст кнопки нужно переименовывать 2 раза иначе все сломается, а тесты на это я писать не умею
можно как вариант создавать в базе индекс переводов при деплое в базе

Sergey❄️
13.12.2017
21:22:12

Gaiaz Iusipov
13.12.2017
21:23:22
Жоска
очень просто же, и не надо париться с переводами и ключами потом, поменял в переводе и все, автоматика все подправит ?


Itjunky дзинь даос
13.12.2017
21:26:05
завел себе VPS на Амазоне ,на Windows Server 2016.
Получил там два ip-адреса , внешний (будем назвать его 1.1.1.1) и внутренний (2.2.2.2)
После чего сделал самоподписанный сертификат на убунте для ip 1.1.1.1.
Далее произвел все операции по настройки «тела» бота согласно инструкции уважаемого Groosha .
При запуске бота происходит следующие :
[12/Dec/2017:09:22:37] ENGINE Listening for SIGTERM.
[12/Dec/2017:09:22:37] ENGINE Bus STARTING
[12/Dec/2017:09:22:37] ENGINE Set handler for console events.
[12/Dec/2017:09:22:37] ENGINE Started monitor thread 'Autoreloader'.
[12/Dec/2017:09:22:37] ENGINE Serving on https://0.0.0.0
[12/Dec/2017:09:22:37] ENGINE Bus STARTEDХотя при отправке здесь должен приходить статус 200 (вроде),а в ответ на сообщение юзера бот должен его повторять.
Так выглядит код бота:
#!/usr/bin/python3.4
# -*- coding: utf-8 -*-
import telebot
import cherrypy
import config
WEBHOOK_HOST = ‘1.1.1.1’ #внешний ip выданный Amazon
WEBHOOK_PORT = 443
WEBHOOK_LISTEN = '0.0.0.0'
WEBHOOK_SSL_CERT = './webhook_cert.pem'
WEBHOOK_SSL_PRIV = './webhook_pkey.pem'
WEBHOOK_URL_BASE = "https://%s:%s" % (WEBHOOK_HOST, WEBHOOK_PORT)
WEBHOOK_URL_PATH = "/%s/" % (config.token)
bot = telebot.TeleBot(config.token)
class WebhookServer(object):
@cherrypy.expose
def index(self):
if 'content-length' in cherrypy.request.headers and \
'content-type' in cherrypy.request.headers and \
cherrypy.request.headers['content-type'] == 'application/json':
length = int(cherrypy.request.headers['content-length'])
json_string = cherrypy.request.body.read(length).decode("utf-8")
update = telebot.types.Update.de_json(json_string)
# Эта функция обеспечивает проверку входящего сообщения
bot.process_new_updates([update])
return ''
else:
raise cherrypy.HTTPError(403)
@bot.message_handler(func=lambda message: True, content_types=['text'])
def echo_message(message):
bot.reply_to(message, message.text)
bot.remove_webhook()
bot.set_webhook(url=WEBHOOK_URL_BASE + WEBHOOK_URL_PATH,
certificate=open(WEBHOOK_SSL_CERT, 'r'))
cherrypy.config.update({
'server.socket_host': WEBHOOK_LISTEN,
'server.socket_port': WEBHOOK_PORT,
'server.ssl_module': 'builtin',
'server.ssl_certificate': WEBHOOK_SSL_CERT,
'server.ssl_private_key': WEBHOOK_SSL_PRIV
})
cherrypy.quickstart(WebhookServer(), WEBHOOK_URL_PATH, {'/': {}})
Что может быть не так?
Кто вообще умудрился назвать виндовс сервером?
Особенно после того как негрософт опубликовал данные, что использует сотни тысяч серверов под линуксом...


Bogdan
14.12.2017
02:48:12

Marina
14.12.2017
05:17:15
всем привет
кто то может помочь, пробую запуститься не получатся
from telethon import TelegramClient
# These example values won't work. You must get your own api_id and
# api_hash from https://my.telegram.org, under API Development.
api_id = 192353
api_hash = '9759f12782563a26367fc6fa8fc16a11'
phone = '+79630755066'
client = TelegramClient('session_name', api_id, api_hash)
client.connect()
# If you already have a previous 'session_name.session' file, skip this.
client.sign_in(phone=phone)
me = client.sign_in(code=77777) # Put whatever code you received here.
print(me.stringify())
client.send_message('username', 'Hello! Talking to you from Telethon')
client.send_file('username', 'C:/Telegram/12.jpg')
client.download_profile_photo(me)
total, messages, senders = client.get_message_history('username')
client.download_media(messages[0])

Marina
14.12.2017
05:18:31
может что то не так делаю

b0g3r
14.12.2017
05:18:54

Artem
14.12.2017
05:19:08

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
14.12.2017
05:19:10
Напискнг же что это и значение api I'd и api has не работают

Marina
14.12.2017
05:19:44
т.е на номере у меня забит юзернейм я пишу но ответа нет
хотя скрипт запущен

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
14.12.2017
05:20:18
Ты ведь понимаешь, что пытаешься отправить сообщение @username
?

Google

Marina
14.12.2017
05:21:22
т.е вместо username, нужно ставить username который привязан к номеру?

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
14.12.2017
05:21:52
Не
Смотри
Если ты 'username' заменишь на 'dategor', ты отправишь сообщение себе
То что в кавычках - юзерка человека, которому ты пишешь
А @username - канал

Marina
14.12.2017
05:24:37
вот сделал так

Admin
ERROR: S client not available

Marina
14.12.2017
05:24:38
from telethon import TelegramClient
# These example values won't work. You must get your own api_id and
# api_hash from https://my.telegram.org, under API Development.
api_id = 192353
api_hash = '9759f12782563a26367fc6fa8fc16a11'
phone = '+79630755066'
client = TelegramClient('session_name', api_id, api_hash)
client.connect()
# If you already have a previous 'session_name.session' file, skip this.
client.sign_in(phone=phone)
me = client.sign_in(code=77777) # Put whatever code you received here.
print(me.stringify())
client.send_message('dategor', 'Hello! Talking to you from Telethon')
client.send_file('dategor', 'C:/Telegram/12.jpg')
client.download_profile_photo(me)
total, messages, senders = client.get_message_history('dategor')
client.download_media(messages[0])
всеровно не отвечает


F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
14.12.2017
05:24:56
Кстати, у ботапи есть такой метод, чтобы получать время последнего онлайна человека? Мне нужно сделать бота, который будет триггериться при входе в сеть и слать уведомление

Marina
14.12.2017
05:25:08
заранее извиняюсь за глупые вопросы

Artem
14.12.2017
05:25:37

Ilusha [←↓ ↑→]
14.12.2017
05:25:47
юзернейм хоть и уникальный, но его можно поменять

F̦̮̦͍́ o̹̟̩r̨̮͈ ̘͕̥͓d̙͓̀ ̖̱̟en͖͍̼̘̺̣̘
14.12.2017
05:28:04

Marina
14.12.2017
05:44:24
Ребят а кто то может наглядно показать как подцепить from telethon import TelegramClient
может у кого то есть свободное время очень бу помог)
возможно кто то за деньгвыделит время?
на питоне

Alexander
14.12.2017
06:00:05
Всем привет, а кто-нибудь знает как делают посты с кнопками-лайками. Если использовать like бот, то он в заголовку пишет via @like, может можно как-нибудь убрать? В группах часто вижу такие кнопки без via @like

Google

b0g3r
14.12.2017
06:00:24
Контроллербот

匕モ匕匕モㄥ
14.12.2017
06:13:32

Владимир - Телеграм понятным языком
14.12.2017
06:14:29

?Kolay
14.12.2017
06:15:01
@robosellerbot

Suren
14.12.2017
06:47:42
Ну привет, админ Олег

Vitaly
14.12.2017
06:47:46
Ого!

Suren
14.12.2017
06:47:52
Хочешь вытеснить нашего админа Олега?
Кто осмелится призвать хайфид?

Oleg
14.12.2017
06:50:18
Аташол атсюдава

Vitaly
14.12.2017
06:50:59
Олег здраствуйте

Suren
14.12.2017
06:52:21

Sergey❄️
14.12.2017
07:00:16
У человека блатной юзернейм, попрошу
@zerno

Евгений
14.12.2017
07:02:52
Аташол атсюдава
Ты не можешь быть единственным кандидатом в Олеги. У людей должен быть выбор

Suren
14.12.2017
07:04:31
Олег чат с колен поднял!

Евгений
14.12.2017
07:04:56
Botoid 20!8