+ <Form.Group as={Col} md={6} controlId="chatSettings.min_age">
+ <Form.Label>{t('twitchBot.chatMinAge')}</Form.Label>
+ <Form.Control
+ isInvalid={!!(touched.min_age && errors.min_age)}
+ name="min_age"
+ min="1"
+ onBlur={handleBlur}
+ onChange={handleChange}
+ type="number"
+ value={values.min_age || 1}
+ />
+ </Form.Group>
+ <Form.Group as={Col} md={6} controlId="chatSettings.source">
+ <Form.Label>{t('twitchBot.chatSource')}</Form.Label>
+ <Form.Select
+ isInvalid={!!(touched.source && errors.source)}
+ name="source"
+ onBlur={handleBlur}
+ onChange={handleChange}
+ value={values.source || 'any'}
+ >
+ {['any', 'cat', 'chan', 'catchan'].map(value =>
+ <option key={value} value={value}>
+ {t(`twitchBot.chatSources.${value}`)}
+ </option>
+ )}
+ </Form.Select>
+ {touched.respond && errors.respond ?
+ <Form.Control.Feedback type="invalid">
+ {t(errors.respond)}
+ </Form.Control.Feedback>
+ : null}
+ </Form.Group>