<commit_before>let strings = require('./strings');
let keyboards = require('./keyboards');
let dbmanager = require('./dbmanager');
let check = require('./messageParser');
let bot = require('./telegramBot');
let categoryPicker = require('./categoryPicker');
let hourlyRatePicker = require('./hourlyRatePicker');
let textInput = require('./textInput');
let jobManager = require('./jobManager');

// Handle messages

bot.on('message', msg => {
	textInput.check(msg, (isTextInput, user) => {
		if (isTextInput) {
			textInput.handle(msg, user, bot);
		} else {
			if (check.botCommandStart(msg)) {
				dbmanager.addUser(msg.from, err => {
					sendMainMenu(msg.chat.id);
				});
			} else if (check.replyMarkup(msg)) {
				handleInline(msg);
			} else {
				console.log(msg);
			}
		}
	});
});

bot.on('inline.callback.query', msg => {
	if (msg.data.indexOf(strings.categoryInline) > -1) {
		categoryPicker.handleInline(bot, msg);
	} else if (msg.data.indexOf(strings.hourlyRateInline) > -1) {
		hourlyRatePicker.handleInline(bot, msg);
	} else if (msg.data.indexOf(strings.freelancerInline) > -1) {
		jobManager.handleClientInline(bot, msg);
	} else if (msg.data.indexOf(strings.freelancerJobInline) > -1) {
		jobManager.handleFreelancerAnswerInline(bot, msg);<commit_msg>fix error if msg undefined<commit_after>let strings = require('./strings');
let keyboards = require('./keyboards');
let dbmanager = require('./dbmanager');
let check = require('./messageParser');
let bot = require('./telegramBot');
let categoryPicker = require('./categoryPicker');
let hourlyRatePicker = require('./hourlyRatePicker');
let textInput = require('./textInput');
let jobManager = require('./jobManager');

// Handle messages

bot.on('message', msg => {
	if (msg === undefined) return;
	textInput.check(msg, (isTextInput, user) => {
		if (isTextInput) {
			textInput.handle(msg, user, bot);
		} else {
			if (check.botCommandStart(msg)) {
				dbmanager.addUser(msg.from, err => {
					sendMainMenu(msg.chat.id);
				});
			} else if (check.replyMarkup(msg)) {
				handleInline(msg);
			} else {
				console.log(msg);
			}
		}
	});
});

bot.on('inline.callback.query', msg => {
	if (msg.data.indexOf(strings.categoryInline) > -1) {
		categoryPicker.handleInline(bot, msg);
	} else if (msg.data.indexOf(strings.hourlyRateInline) > -1) {
		hourlyRatePicker.handleInline(bot, msg);
	} else if (msg.data.indexOf(strings.freelancerInline) > -1) {
		jobManager.handleClientInline(bot, msg);
	} else if (msg.data.indexOf(strings.freelancerJobInline) > -1) {
		jobManager.handleFreelancerAnswerInline(bot, msg);
{'fraction_non_alphanumeric': 0.17499032133178474, 'fraction_numerical': 0.003097173828881146, 'mean_word_length': 4.509594882729211, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 19, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5127146', 'n_tokens_mistral': 907, 'n_tokens_neox': 850, 'n_words': 159}