// call sends one call of method with the JSON params and decodes its result
// into result, when result is not nil. The call can take up to timeout. Its
-// errors tell the cause in plain words, with no method name, so that a log line
-// can say first what the call was for.
+// request setup errors name the method. Network and answer errors give a safe
+// cause, so the caller can add the operation without exposing the request URL.
func (b *TelegramAPI) call(ctx context.Context, timeout time.Duration, method string, params, result any) error {
ctx, cancel := context.WithTimeout(ctx, timeout)
defer cancel()