 	public func respondPrivatelyAsync(_ userText: String, groupText: String,
 	                                  onDidSendToUser userCompletion: TelegramBot.SendMessageCompletion? = nil,
 	                                  onDidSendToGroup groupCompletion: TelegramBot.SendMessageCompletion? = nil) {
-		bot.sendMessageAsync(chat_id: fromId, text: userText, completion: userCompletion)
+		if let fromId = fromId {
+			bot.sendMessageAsync(chat_id: fromId, text: userText, completion: userCompletion)
+		}
 		if !privateChat {
 			bot.sendMessageAsync(chat_id: chatId, text: groupText, completion: groupCompletion)
 		}

	}
	
	public func respondPrivatelySync(_ userText: String, groupText: String) -> (userMessage: Message?, groupMessage: Message?) {
		let userMessage = bot.sendMessageSync(chat_id: fromId, text: userText)
		let groupMessage: Message?
		if !privateChat {
			groupMessage = bot.sendMessageSync(chat_id: chatId, text: groupText)


	public var privateChat: Bool { return message.chat.type == .privateChat }
	public var chatId: Int64 { return message.chat.id }
	public var fromId: Int64? { return message.from?.id }
	
	init(bot: TelegramBot, update: Update, scanner: NSScanner, command: String) {
		self.bot = bot
