ANSWERED

Adding a Cart and multiselect to Chatbot

It will be really helpful if the chatbot framework development team could integrate multi select to quick replies because they are extremely useful especially in cases were the user is shopping and would rather want to select multiple things at a go instead of 1 and then going on to another interaction to get it. It's an advantage websites would have over chatbots built with snatchbot please implement it. If there is no way for someone to display a user's cart in snatchbot then please implement it
ANSWERED

Secure message like: password '****'

Hello! I have done a little research, but I can not find a way to resolve this situation: I want the bot to ask the user a user name and a password for a certain purpose. How can the password be set to not be visible in chat? like '****' or 'XXXX'? Thank you in advance
ANSWERED

Handling user's off-topic input

Hello, I am currently creating my first bot ever which is focused on Football Laws of the Game. After studying some documentation and watching video tutorials I should be able to create chatbot which is capable of talking about football laws. But my Q is what about user's off topic input? Currently, I am using "Fallback interaction" - If no conditions are met in some interaction, then I am using "my universal one" whith responses like "Oh, sorrry, I don't understand.", etc. Is there any way how to handle it better? I would like to have chatbot which is capable of something like having "small talk" with user. Please keep in mind I am total beginner :). Thanks for your help!

programming language

Witch is the programming language used to develop Snatchbot?
ANSWERED

buttons

How to include only buttons in snatchbot. Is their any option to be enabled. one more question is how to increase number of buttons to be included in text card from 3 to more
ANSWERED

Python Code

Is it possible to implement this code to my bot? # coding: utf-8 #!/usr/bin/env python # # Based on https://pastebin.com/VU2v27bH # Author: Kirill Vasin import logging from time import time from collections import deque logger = logging.getLogger(__name__) class SpamFilter: def __init__(self): self.limits = {1:3, 5:7, 10:10} # max: 3 updates in 1 second, 7 updates in 5 seconds, 10 updates in 10 seconds self.timeout_start = 10 self.severity = 2 self.timeouts = {} self.times = {} self.violations = {} def new_message(self, chat_id): update_time = time() if chat_id not in self.timeouts: self.timeouts.update({chat_id: 0}) self.times.update({chat_id : deque(maxlen=10)}) self.violations.update({chat_id: 0}) else: if self.timeouts[chat_id] > update_time: return 1 for limit in self.limits: amount = 1 for upd_time in self.times[chat_id]: if update_time - upd_time < limit: amount += 1 else: break if amount > self.limits[limit]: delta = int(self.timeout_start * self.severity ** self.violations[chat_id]) self.timeouts[chat_id] = update_time + delta self.violations[chat_id] += 1 logger.warning("User %s is sending too many requests, broke %s limit", chat_id, limit) return "Too many requests. Operations will be availiable in {0}".format(delta) self.times[chat_id].appendleft(update_time) return False def wrapper(self, func): # only works on functions, not on instancemethods # Only works for messages (+Commands) and callback_queries (Inline Buttons) def func_wrapper(bot, update): if update.callback_query: chat_id = update.callback_query.from_user.id elif update.message: chat_id = update.message.chat_id timeout = self.new_message(chat_id) if not timeout: return func(bot, update) # return is required by ConversationHandler elif timeout != 1: bot.sendMessage(chat_id=chat_id, text=timeout) return func_wrapper blocker = SpamFilter() # @blocker.wrapper # def start(bot, update): # Thank you
ANSWERED

Custom Variable Bug

Hy, I have a question with custom variables. I would like to make a logical statement, but you make it really hard. Because you only let the result of the logical statement to be a text... Additionally what kind of IF statement this is if there is a False result..? For example fallback could be used as a False statement. What I wanted to do is to decide whether an extracted data is true or false and use the result. For example using it for a custom variable: Bot statement 1: Give a value. [customVar mark=1] User: 2 Bot statement 2: Are you sure? [customVar mark=[IF([extractedData interaction=1 fallback=1]=2){10}]] User: Yes Bot statement 3: Your value: [showVar=mark] In this case it the custom variable mark will be 10. But there is a bug: extractedData interaction=1 is not "2" the Bot statement 2 will write [customVar mark=] Even though the result at Bot statement 3 is good, cause variable value will be 1. So can you do something with the unwanted [customVar mark=] if the logical statement is fale?
ANSWERED

Enterprise grade security

Hi there, Would you be able to provide further information on your data security? I have been reviewing your documentation and the FAQ and I am not able to find any detail about your data security e.g. where are the servers located, is the data encrypted, are communications encrypted as well, etc. Thanks, Manu

Quiz bot stops suddenly

I usually solve questions from different telegram groups . Mamy-a-times when the quiz is suppose 50 or 100 questions the bot dies off
ANSWERED

about disconnect chat bot

how to every disconnect on our chat bot